我正在尝试使用用户输入显示车队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/