在JAVA中,有boolean 与 Boolean, byte 与 Byte, int与 Integer, char 与 Character, short 与 Short, long 与Long, float 与 Float, double 与 Double共八对基本类型以及其包装类型。
他们使用中有什么区别?举一个Integer和int的例子:
int是基本类型。它不是对象。int的性能较高,因为它在栈内存中产生和处理,
Integer是一个对象,是int的包装类型,和int相比,它的体积要大很多,它是在堆内存中产生实例,它提供了很多方法,比如valueOf(String s)等方法可以与其他类型进行转换。
使用区别:
在往集合中存储对象等情形时推荐用包装类,因为可以提供更多的方法对对象进行操作,其他的处理提倡使用基本类型,可以提高优化性能。
JDK1.5以后,提供自动拆装箱,在需要的时候编译器会自动将Integer转换为int。
|