while循环使用if语句不起作用

时间:2017-10-17 08:47:26

标签: java if-statement while-loop break

作为一个例子,我有一个txt文件,其中包含一个狗列表,一个在文件的每一行,然后" **"在最后一行。然后,我将以下代码加载到ArrayList中,以便在JComboBox中使用。

这样我就可以在文本框中添加另一行来添加另一条狗。

我的示例代码如下

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循环。

任何解决方案都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

使用RestAssured.config().logConfig()。请尝试以下代码

private RequestSpecification getRequestSpec(ContentType requestbodytype, ContentType responsetype, boolean urlEncodingEnabled) {
    writer = new StringWriter();
    captor = new PrintStream(new WriterOutputStream(writer), true);
    return  RestAssured.given().config(RestAssured.config().logConfig(new LogConfig(captor, true))).urlEncodingEnabled(urlEncodingEnabled).log().everything().contentType(requestbodytype).accept(responsetype);
}

protected Response get(String resourceURI, ContentType requestbodytype, ContentType responsetype, boolean urlEncodingEnabled) {
    Response rs = null;
    rs = getRequestSpec(requestbodytype, responsetype, urlEncodingEnabled).when().get(resourceURI);
    Reporter.log("---- Request ----");
    Reporter.log(writer.toString());
    Reporter.log("---- Response ----");
    Reporter.log(rs.asString());
    return rs;
}

答案 1 :(得分:0)

为了更好地比较字符串,使用java.lang.String#equals