Java 5.0 新增 Autoboxing & Unboxing 功能的简单示例

来源:互联网 发布:淘宝怎么退定金 编辑:程序博客网 时间:2024/05/17 21:53

Java中有两种变量类型,一种是对象,其祖类都是java.lang.Object;另一种是数值类型, 如int, short, char等。由于boolean, int, short, char是数值类型等不是对象,在一些必须使用对象的场合就必须使用Boolean, Integer, Short, Character 等等,这样就需要在对象和数值之间相互转换。Java 5.0中的 Autoboxing & Unboxing 就是专为简化这个过程而设立的。

以前:
 Integer i = new Integer(0);
 int bar = i.intValue();

 
Java 5.0:
 Integer i = 0;
 int bar = i;
 i++;  // 甚至可以这样

是不是比起以前方便了许多,不过原理和以前没有改变,只是JRE5.0自动地进行了转换。


使用Collection必须使用Object,所以在下例中:
 List list = new ArrayList();
 list.add(new Integer(10));

5.0新增autobox后,可修改为:
 List list = new ArrayList();
 list.add(10);

然后可以优化为:
 List<Integer> list = new ArrayList<Integer>();
 list.add(10);

原创粉丝点击