Java 使用BufferedReader获取字符串输入

Java 使用BufferedReader获取字符串输入,java,Java,当我使用BufferedReader获取字符串输入时,例如: String a=br.readLine(); 然后当我打字时: if(a=="hello") {//statements} else{....} 然后,即使用户输入“hello”作为字符串,它也不会执行if块中的语句,而是跳转到else。当我直接在方法的参数列表中输入字符串而不使用缓冲读取器时,我不会遇到这个问题。怎么了?还有,我怎样才能使用缓冲读取器获取字符串输入而不面临这个问题呢?请帮助。 p、 我的程序中

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

String a=br.readLine();
然后当我打字时:

 if(a=="hello")
    {//statements}
    else{....}
然后,即使用户输入“hello”作为字符串,它也不会执行if块中的语句,而是跳转到else。当我直接在方法的参数列表中输入字符串而不使用缓冲读取器时,我不会遇到这个问题。怎么了?还有,我怎样才能使用缓冲读取器获取字符串输入而不面临这个问题呢?请帮助。 p、 我的程序中没有语法错误

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

if (a.equals("hello"))
或者为了避免NPE,最好使用

if ("hello".equals(a)))