分享

Java Boxing&Unboxing

 软件团队头目 2006-12-27

[Java]J2SE 5.0之Boxing&Unboxing

作为一个程序员,一个java程序员,在使用Map和Collection的时候,经常回遇到下面的情况:

       Map map;

       …

       String name = map.get(“name”);

       …

这里从map对象取出的值,需要强制转换成我们所需要的类型,这种情况在jsp中读取属性值的时候也经常遇到。


耶稣,您为什么不直接给我转成我需要的类型呢?

通过范型编程和对java语言的改进,我们现在自动实现装箱和解箱操作。看下面的例子:

package com.kuaff.jdk5;


import java.util.Date;

import java.util.HashMap;

import java.util.Map;


public class Boxing

{

    private Map<String,Date> map = new HashMap<String,Date>();

    

    public Boxing()

    {

        map.put("date",new Date());

    }

    public void  printDate()

    {

        Date date = map.get("date");

        System.out.printf("当前时间:%s",date);

    }

    

    public static void main(String[] args)

    {

        Boxing box = new Boxing();

        box.printDate();

    }

}

我们声明了一个String,Date类型的Map,用英语讲应该是(Map of String,Date),这样我们可以直接装箱map.put("date",new Date());和解箱Date date = map.get("date");

这个功能可能作用不是很大,至少我们可以少敲一些字母,爱护一下我们的键盘。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约