由于AutoBoxing的存在,以下代码在JDK1.5的环境下可以编译通过并运行。
- int i = 0;
- Integer wrapperi = i;
还有其他方法?
JDK1.5为Integer增加了一个全新的方法:
- public static Integer valueOf(int i)
以下代码在JDK1.5的环境下可以编译通过并运行。
附:AutoBoxing与UnBoxing带来的转变
在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀。
以下代码在JDK1.5中成为了可能,试想下在JDK1.5之前该如何实现这段代码?
- int x = 1;
- Collection collection = new ArrayList();
- collection.add(x);//AutoBoxing,自动转换成Integer.
- Integer y = new Integer(2);
- collection.add(y + 2); //y + 2为UnBoxing,自动转换成int。之后再次转换为Integer。
此特性同样适用于Map
- Map map = new HashMap();
- int x = 1;
- Integer y = new Integer(2);
- int z = 3;
- map.put(x,y + z);//x自动转换成Integer。y+z自动转换成int。之后再次转换为Integer。
- int i = 0;
- Integer wrapperi = Integer.valueOf(i);
- 本文转自http://denverj.iteye.com/blog/745422 感谢作者