自动装包/拆包(Autoboxing/unboxing) 自动装包/拆包大大方便了基本类型数据和它们包装类地使用。 自动装包:基本类型自动转为包装类.(int >> Integer) 自动拆包:包装类自动转为基本类型.(Integer >> int) 在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了我们的问题。 int a = 3; Collection c = new ArrayList(); c.add(a);//自动转换成Integer. Integer b = new Integer(2); c.add(b + 2); 这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.
-------------------------------------------
自动装箱与拆箱 对应C# 例1.1 Integer i = 10;
int j = i;
自动装包:基本类型自动转为包装类。(int >>Integer)
自动拆包:包装类自动转型为基本类型。(Integer >> int)
java的8个基本数据类型:
short、byte、int、long、float、double、boolean、char、
对象是比较的地址,基本数据类型是比较值,下面的例子自动装箱,编译器不知道哦比较值还是内存地址当Integer值为-128~127之间比较原始数据类型primitive type int value值,在之外比较内存地址.所以这种情况不要乱用装箱。
100 200问题
public static void main(String[] args)
{
// Integer i1=100; // Integer i2=100; // // if(i1==i2) // System.out.println("i1==i2"); // else // System.out.println("i1!=i2");
/*输出为 i1=i2*/
Integer i1=200; Integer i2=200;
if(i1==i2) System.out.println("i1==i2"); else System.out.println("i1!=i2");
/*输出为 i1!=i2*/
}