while循环if语句不起作用
问题描述:
举例来说,我有一个包含狗列表的文件,每行一个文件,然后在最后一行显示“**”。然后,我有以下代码将其加载到ArrayList
中以用于JComboBox
。while循环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
循环。
任何解决方案,将不胜感激。
答
为了比较字符串,最好使用java.lang.String中#等于下面的代码
答
使用!temp.equals("**")
。尝试
if (!temp.equals("**")) {
picklistDogs.add(temp);
} else {
break;
}
+0
非常感谢Aniket –
我说什么,我认为是语言的标签。如果这不正确,请修改。 (并在将来标记语言。) – Bathsheba
这不是你如何比较'String' – AxelH
感谢所有的评论家伙,我在这里发现了很多的例子,这是我做了上面的方式。使用“equals”解决了我的问题。 –