相关疑难解决方法(0)

整数包装器对象仅在值127内共享相同的实例?

这里他们是同一个实例:

Integer integer1 = 127;
Integer integer2 = 127;
System.out.println(integer1 == integer2);  // outputs "true"
Run Code Online (Sandbox Code Playgroud)

但在这里他们是不同的实例:

Integer integer1 = 128;
Integer integer2 = 128;
System.out.println(integer1 == integer2);  // outputs "false"
Run Code Online (Sandbox Code Playgroud)

为什么包装器对象仅在值127内共享同一实例?

java caching integer

40
推荐指数
3
解决办法
5824
查看次数

java上的行为不一致==

考虑以下代码:

class test {
   public static void main(String[] args) {
      test inst_test = new test();
      int i1 = 2000;
      int i2 = 2000;
      int i3 = 2;
      int i4 = 2;
      Integer Ithree = new Integer(2); // 1
      Integer Ifour = new Integer(2); // 2
      System.out.println( Ithree == Ifour );
      inst_test.method( i3 , i4 );
      inst_test.method( i1 , i2 );
   }
   public void method( Integer i , Integer eye ) {
      System.out.println(i == eye );
   }
}
Run Code Online (Sandbox Code Playgroud)

它打印:

false
true …
Run Code Online (Sandbox Code Playgroud)

java primitive integer

8
推荐指数
2
解决办法
497
查看次数

标签 统计

integer ×2

java ×2

caching ×1

primitive ×1