为什么这个if语句不起作用?

时间:2015-03-29 20:41:49

标签: java io read-write

我一直致力于一个小型的个人项目,主要是对该计划的IO方面进行改进。

我主要在一个方法上遇到问题,该方法负责调用两个读取一行文本文档的方法并解析它以找到某个字符串。

public boolean noSavedGame(){
    boolean noGameFound = false;
    read();  //method reads the text document that can have multiple lines
    String temp = find();  //method finds the property and returns it in a string

    if(temp == "none"){ 
        System.out.println("Saved game not found");
        noGameFound = true; //a saved game WAS NOT FOUND

    }
    else{
        System.out.println("saved game found");
        noGameFound = false; //a saved game WAS FOUND
        propertyDetail = temp;
    }

    return noGameFound;
}

因此,文本文档的第一行如下所示:

<pastSavedGame> - none

read()正确地获取该行并且find()正确返回&#34; none&#34;因为它应该归还财产。

但条件不合适。即使temp等于"none",也会执行if语句,而不是else语句。起初,我认为空白是一个问题,但似乎不是一个因素。

我为可能是一个非常简单的问题道歉,但我是Java的新手。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

要比较字符串,请使用equals()代替==

equals()比较内容; ==检查它是否是同一个实例。