首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

封装类比较出现的有关问题

2012-10-12 
封装类比较出现的问题?????? Java为了性能提供了一个类似缓存的东西,不仅仅是Integer,Long也有同样的缓存,

封装类比较出现的问题

?????? Java为了性能提供了一个类似缓存的东西,不仅仅是Integer,Long也有同样的缓存,在内存中定义了一个长度为 255的对象数组,装箱之前先比较一下,如果是在-128-127范围内就直接取,所以只要是-128~127之间的取的都是一个对象,是true了,-128~127之外的就会重新new对象。

public class IntegerTest {/** * @param args */public static void main(String[] args) {Integer i1 = 10;Integer i2 = 10;System.out.println(i1 == i2); // true//直接生成新的对象,不会从在缓存中获取Integer i3 = new Integer(10);Integer i4 = new Integer(10);System.out.println(i3 == i4); // falseInteger i5 = 0;System.out.println(i1 == i2 + i5);// true//在i4+i5运算前,先进行了拆箱操作,所以比较的是内容System.out.println(i3 == i4 + i5);// trueInteger i6 = 128;Integer i7 = 128;System.out.println(i6 == i7); // falseInteger i8 = -129;Integer i9 = -129;System.out.println(i8 == i9); // false}}
?

热点排行