[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"); 这个功能可能作用不是很大,至少我们可以少敲一些字母,爱护一下我们的键盘。 |
|