当我使用BufferedReader获取String输入时,例如:
String a=br.readLine();
之后我输入:
if(a=="hello")
{//statements}
else{....}
然后即使用户输入'hello'作为字符串a,它也不会执行if块中的语句而只是跳转到else。当我直接在方法的参数列表中使用字符串输入而不使用缓冲读取器时,我不会遇到此问题。怎么了?如何在不遇到此问题的情况下使用缓冲读卡器进行字符串输入?请帮忙。 附:我的程序中没有语法错误
答案 0 :(得分:1)
使用String#equals
检查String
内容。 ==
运算符用于比较Object
个引用。
if (a.equals("hello"))
或避免NPE
,最好使用
if ("hello".equals(a)))