2015-04-26 52 views
2

我正尝试使用用户输入从队列ArrayList中显示Car。不幸的是我不确定如何去做。我在网上找到几个例子,但不能让它们工作。我已经纳入以下方法:通过用户输入在ArrayList中查找对象 - Java

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; 
+2

使用'String.equals'比较字符串 – Reimeus

回答

2

String s为对象,而不是原语。因此,你应该使用equals比较其,不==,检查这两个引用相同的对象:

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

感谢的是,在挣扎一点点它。 –