2017-10-17 277 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 –