java - 通过用户输入查找 ArrayList 中的对象 - Java

标签 java arraylist

我正在尝试使用用户输入显示车队ArrayList 中的Car。不幸的是我不知道该怎么做。我在网上找到了一些例子,但无法使它们发挥作用。我采用了以下方法:

 void findRegNo(String reg){
     boolean exist=false;
        for(int i=0;i<this.fleet.size();i++){
            if(this.fleet.get(i).getRegNo() == reg){
                exist=true;
                break;
            }
        }

        if(exist) {
            System.out.println("!!!!!");
        } else {
            System.out.println("xxx");
        }    
}

目前结果始终是:xxx,因此代码找不到任何匹配项。该函数放置在我的容器类中,我想它可能应该位于不同的位置。 这些是 Car 类的变量:

public class Car {

    //defining variables
    String regNo;
    String model;
    double mileage;

最佳答案

String 是对象,而不是基元。因此,您应该使用 equals 来比较它们的,而不是 ==,后者会检查两个引用是否指向同一对象:

if (this.fleet.get(i).getRegNo().equals(reg)) {
    exist = true;
    break;
}

关于java - 通过用户输入查找 ArrayList 中的对象 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29883631/

相关文章:

java - 发现一个字符串是否是其他字符串的子字符串

java - 从读取文件中分离结果的更好方法?

Java ArrayList 比较 - TicTacToe

java - 使用 Java 处理 Postgresql 事务

java - 将动态 Java Web 应用程序导出为 PDF?

java nio 和 stdin、stdout、stderr 的流结束

java - 套接字客户端卡在用户输入上

java - 如何停止覆盖数组列表?

java - 允许 ArrayList 在不同的类中使用

java - 删除二维ArrayList中的重复条目