一个关于BufferedReader的问题!求救啊!
我通过BufferedReader输入流,从键盘输入end 执行以下语句后,为什么总是输出 true???
BufferedReader shuru=new BufferedReader(new InputStreamReader(System.in));
System.out.println(shuru.readLine()!="end");
我输入的是end,与给定的"end"相同,他应该输出false才对啊!!!
这是为什么??请大家指教!
非常感谢!!
------解决方案--------------------最常见错误:对象比较严禁用 ==
shuru.readLine().equals("end")
------解决方案--------------------判断字符串内容是否相同请用equals方法。用==比较的是其对象内存地址
------解决方案--------------------判断字符串内容是否相同请用equals方法。用==比较的是其对象内存地址
------解决方案--------------------楼上说的没错!
------解决方案--------------------==判断的是内存地址,用.equals()吧
------解决方案--------------------shuru.readLine().equals("end")
------解决方案--------------------应该用equals,
equals 与 == 的区别是:equals比较的是对象的内容, == 比较的对象引用的地址值
------解决方案--------------------各种equals!!