当前位置: 首页 > 知识库问答 >
问题:

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

薛高澹
2023-03-14

我想比较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));

我知道==operator比较的是引用,而不是值,在这种情况下,这两个整数有不同的引用,因此从逻辑上讲,这两种情况都必须有false。我不明白为什么我只对从-128到127整数true而对其他整数false

注:我在Stackoverflow和Google上看到很多问题,但我找不到我问题的答案

共有1个答案

公冶元青
2023-03-14

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

 类似资料:
  • 我正在做一个学校作业,我必须检查ArrayList teKoop中的某些对象是否不在ArrayList mijnGames中,问题是我一直设置这个错误代码:索引1 out of length 1 out of bounds for length 1 这里有什么明显的问题吗? 如有任何帮助,我们将不胜感激。 因此indexOutOfBound错误已修复,新问题出现:s 它一直返回给我一个空的Arra

  • 我得到了两个字符串类型arraylist。一个列表包含“book1”、“book2”、“book3”和“book4”。另一个arrayList包含“book1”、“book2”、“book3”。因此,第一个列表的大小为4,第二个列表的大小为3。我创建了另一个与第一个列表大小相等的arrayList 但是当我这样做的时候,我不能设置1,因为我不能进入if状态,有人能帮我吗

  • 问题内容: 我得到了两个String类型的arraylist ..一个包含“ book1”,“ book2”,“ book3”和“ book4”的列表。另一个arrayList包含“ book1”,“ book2”,“ book3”。因此,第一个列表的大小为4,第二个列表的大小为3。我创建了另一个与第一个列表的大小相等的arrayList 如果两个列表之间的内容相等,那么我将设置为1而不是0。 所

  • 我有一个检查两个变量引用的代码,我遇到了这个有点混乱的情况: 结果是: 我的第一个问题是为什么第一个和第三个引用相等?如果第三个变量等于第二个变量,它应该是,因为它们的对象引用不相等。 当我将值更改为时,我感到困惑,如下所示: 然后结果变成: 为什么会这样?

  • 问题内容: 我需要使用位运算符比较两个整数。我遇到了一个问题,我必须不使用比较运算符就比较两个整数。使用位运算符会有所帮助。 假设a = 4;b = 5; 我们必须证明a不等于b。但是,我想进一步扩展它,例如,我们将显示哪个更大。这里b更大。 问题答案: 您至少需要将其与0进行比较,并且在概念上这是CPU所做的比较。例如 可以建模为等于,因为位必须相同才能返回0 如果这是你可以删除的,因为这可以暗

  • 我用一个字段构造了一个类。然后创建了两个对象,并且必须使用运算符和对它们进行比较。以下是我所做的: