首页 > 解决方案 > 为什么不是 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),所以有人可以指出我正确的方向吗?

标签: javaarraylist

解决方案


你可以这样使用:

System.out.println(l.get(0).equals(l.get(1)));

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


推荐阅读