为什么 Java 的 ArrayList <Integer> get() 没有返回 == 的正确比较?



我最近开始学习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)));

你在比较对象,而不是原语。

最新更新