2017-10-17 275 views
-2

舉例來說,我有一個包含狗列表的文件,每行一個文件,然後在最後一行顯示「**」。然後,我有以下代碼將其加載到ArrayList中以用於JComboBoxwhile循環if語句不起作用

這樣我就可以簡單地在文本框中添加另一行來添加另一隻狗。

我的示例代碼如下

public class test{ 
static String temp; 

public static void main(String[] args) { 
List<String> picklistDogs = new ArrayList<String>(); 
File picklistFile = new File (filePath); 
try { 
    BufferedReader loadPickList = new BufferedReader (new FileReader(picklistFile)); 
    while(true) { 
     temp = loadPickList.readLine(); 
     if (temp != "**") { 
      picklistDogs.add(temp); 
     } else { 
      break; 
     } 
    } 
    loadPickList.close(); 
} 
catch(FileNotFoundException e){ 
    System.out.println("file not found"); 
} 
catch(IOException e){ 
    System.out.println("file io error"); 
} 
} // END of main 
} // END of class test 

我的問題接縫是該if聲明從未觸發break退出while循環。

任何解決方案,將不勝感激。

+0

我說什麼,我認爲是語言的標籤。如果這不正確,請修改。 (並在將來標記語言。) – Bathsheba

+1

這不是你如何比較'String' – AxelH

+1

感謝所有的評論傢伙,我在這裏發現了很多的例子,這是我做了上面的方式。使用「equals」解決了我的問題。 –

回答

0

爲了比較字符串,最好使用java.lang.String中#等於下面的代碼

1

使用!temp.equals("**")。嘗試

if (!temp.equals("**")) { 
       picklistDogs.add(temp); 
      } else { 
       break; 
      } 
+0

非常感謝Aniket –