问题
•
•
1:在原始类型与包装类型间转换
•
•
2:当把一个原始类型加到集合中时需要进行转换
•
(第一部分)
•
//old 1.4 style
•
Integer intObj1 = new Integer(22);
•
int i = intObj1.intValue();
•
System.out.println(i);
//output: 22
•
//new 1.5 style
•
Integer i =new Integer(3);
•
int j = i;
//auto-unboxing
•
System.out.println(j);
//output: 3
(第二部分)
•
//old 1.4 style
•
ArrayList al1 = new ArrayList();
•
al1.add(new Integer(24));
//or al1.add(Integer.valueOf(24))
•
//new 1.5 style
•
ArrayList a = new ArrayList();
•
a.add(4);
// auto-boxing conversion
编译为.class模块后,我们使用DJ Java Decompiler重新反编译得到以下代码:
(第一部分)
•
Integer i = new Integer(3);
•
int j = i.intValue();
(
第二部分)
•
ArrayList a = new ArrayList();
•
a.add(Integer.valueOf(4));
•
从上现可以看出转换的工作都由编译器完成了!
•
注:当包装类型为null时,转换会发生NollPointerException。