Integer对象的构造方法会创建新的对象,用其内部的int value字段保存值。所有两个Integer对象,虽然内部的int值是一致的,但确是两个不同的对象。比如两个人都叫张三。
换个情景
Integer i1 = 1;
Integer i2 = 1;
这个方式会被java编译器编译成 Integer i1 = Integer.valueOf(1); 2同理,根据valueOf原理,他们返回的将是缓存中的同一个integer对象。
在java中,新特性拆箱和装箱指的是,如果你的表达式中有基本类型和其包装类型,那么包装类型将会被拆箱成为基本类型。
5 == new integer(5) 将会被拆箱,其表达式将会是 5 == new integer(5).intValue() |