使用==运算符比较ArrayList中的两个元素

时间:2015-11-18 22:52:24

标签: java arraylist integer compare comparison

我想比较一个ArrayList == operator中的两个元素,我写这段代码:

ArrayList<Integer> myArray=new ArrayList<>();
myArray.add(-128);
myArray.add(-128);
System.out.println(myArray.get(0)==myArray.get(1));

我得到true作为结果,但其他值如:

myArray.add(2000);
myArray.add(2000);
System.out.println(myArray.get(0)==myArray.get(1));

我得到了false

我知道== operator 比较引用,而不是值,在这种情况下,两个整数有不同的引用,所以逻辑上我们必须false两种情况。 我不明白为什么我只true Integer来自-128 to 127false来自其他Integer

注意:我在Stackoverflow和Google中看到很多问题,但我无法找到问题的答案

1 个答案:

答案 0 :(得分:0)

范围-128 -> 127中的值缓存在Integer类中。