相关疑难解决方法(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问题

public class Main { 
    /** 
      * @param args the command line arguments */ 
    public static void main(String[] args) { 
        // TODO code application logic here
        int a1 = 1000, a2 = 1000; 
        System.out.println(a1==a2);//=>true 
        Integer b1 = 1000, b2 = 1000;
        System.out.println(b1 == b2);//=>false 
        Integer c1 = 100, c2 = 100; 
        System.out.println(c1 == c2);//=>true 
    }

}
Run Code Online (Sandbox Code Playgroud)

为什么是b1 == b2虚假和c1 == c2真实的?

java autoboxing integer

16
推荐指数
3
解决办法
4778
查看次数

JAVA:当Integer大于128时,比较不起作用

这是我的Java程序的一部分,我已经拿出并简化了测试.任务是比较ArrayList中的两个整数并说明它们是否相等.

以下代码适用于数字<128但任何数字> 128且代码不起作用.

任何帮助都会非常棒,谢谢.

import java.util.*;

public class test
{
public static void main (String[] args)
{

Integer seat1Store = 128;
Integer seat2Store = 128;
Integer seat3Store = 0;
Integer seat4Store = 0;
Integer seat5Store = 0;


ArrayList<Integer> proceedArray = new ArrayList<Integer>();


if (seat1Store !=0)
{
    proceedArray.add(seat1Store);
}
if (seat2Store !=0)
{
    proceedArray.add(seat2Store);
}
if (seat3Store !=0)
{
    proceedArray.add(seat3Store);
}
if (seat4Store !=0)
{
    proceedArray.add(seat4Store);
}
if (seat5Store !=0)
{
    proceedArray.add(seat5Store);
}

System.out.println("ArrayList = " + proceedArray);


boolean proceed = …
Run Code Online (Sandbox Code Playgroud)

java integer

1
推荐指数
1
解决办法
3795
查看次数

标签 统计

integer ×3

java ×3

autoboxing ×1

caching ×1