家伙的性质变有谁能够解释我的新的这种性质和使用使用采用新的与正常decleration和Integer(装箱/拆箱)
Integer i = new Integer(-10);
Integer j = new Integer(-10);
Integer k = -10;
Integer l=-10;
System.out.println(i==j);
System.out.println(k==l);
答案的整数声明是假的真
接下来
Integer a=128;
Integer b=128;
Integer c=127;
Integer d=127;
System.out.println(a==b);
System.out.println(c==d);
答案越来越虚假。 任何人都可以解释这种性质。 在此先感谢:)
先生你是什么意思,有时会创造新的对象,有时它不? ,在第二个例子中,如你所说的范围事件,即-128到127,结果r1 == r2将是真的,很好。但是,它们的值是128,而它们是相同的,但它们的值是否为假? – 2012-07-31 08:42:58
@GursahibSahni:你是否阅读过JLS的这一部分?我认为这很清楚。基本上有一个“小”整数的预定义值的缓存 - 这些将用于拳击小整数,但装箱较大的值将创建一个新的对象,每次。 – 2012-07-31 08:58:33
先生,所以你试图说,每次创建一个新的对象时,对于大整数,因此结果是一个FALSE值? – 2012-07-31 10:03:01