San*_*gra 4 java autoboxing unboxing integer wrapper
List<Integer> test = List.of(955, 955);
if (test.get(1) == test.get(0))
...
Run Code Online (Sandbox Code Playgroud)
以上条件导致 false
List<Integer> test = List.of(955, 955);
int a = test.get(1);
int b = test.get(0);
if (a == b)
...
Run Code Online (Sandbox Code Playgroud)
上述条件返回true。
为什么会这样?片段之间有什么区别?
在一种情况下,您正在比较两个Integer对象引用。在另一种情况下,您正在比较两个ints。当使用==运算符比较对象引用时,False如果它们不是同一个对象,即使它们包装了相同的值,它也会返回。
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |