2015-04-26 73 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

感謝的是,在掙扎一點點它。 –