java - 为什么不是 Java 的 ArrayListget() 返回正确的比较 ==?
问题描述
我最近开始学习Java的ArrayList
类,我写了一小段代码来测试一些功能:
import java.io.*;
import java.util.*;
public class TestProgram {
public static void main (String[] args){
ArrayList <Integer> l = new ArrayList <Integer> ();
l.add(255);
l.add(255);
System.out.println(l.get(0) == l.get(1));
}
}
奇怪的是,这段代码的输出是false
. 我不知道为什么会这样(因为 255 = 255),所以有人可以指出我正确的方向吗?
解决方案
你可以这样使用:
System.out.println(l.get(0).equals(l.get(1)));
您正在比较对象,而不是原语。
推荐阅读
- javascript - 如何修复未捕获的类型错误:无法在完整日历中调用未定义的方法“调用”
- python - AWS Lambda:无法从“PIL”导入名称“_imaging”
- angular - 从谷歌云存储桶中获取 json 文件
- android - 如何在 ionic 4 应用程序中更改状态栏字体颜色
- java - 为什么这会抛出 java.nio.file.InvalidPathException?
- javascript - (Ag-Grid)在编辑时,如何立即改变值,而不是在单元格失去焦点后?
- regex - 正则表达式选择特定单词后的每个数字
- javascript - svg 动画圆形旋钮顺时针旋转不使用 GSAP
- flutter - 如何在不使用边界半径的情况下创建弯曲的小部件
- javascript - DSP.js-幅度改变频率等等