-1

当我使用 BufferedReader 获取字符串输入时,例如:

String a=br.readLine();

然后当我输入:

 if(a=="hello")
    {//statements}
    else{....}

那么即使用户输入 'hello' 作为字符串 a,它也不会执行 if 块中的语句,而只是跳转到 else。当我直接在方法的参数列表中输入字符串而不使用缓冲读取器时,我不会遇到这个问题。怎么了?以及如何在不遇到此问题的情况下使用缓冲读取器进行字符串输入?请帮助。ps 我的程序没有语法错误

4

1 回答 1

1

用于String#equals检查String内容。==运算符用于比较引用Object

if (a.equals("hello"))

或避免NPE,最好使用

if ("hello".equals(a)))
于 2013-03-26T17:29:43.970 回答