我在GWT MVP应用程序中的演示者中有以下代码:
public void onFailure(ServerFailure error) {
String errCode = error.getMessage();
Window.alert(errCode);
Window.alert("Server Error: pleaseEnterQuestion");
if(errCode == "Server Error: pleaseEnterQuestion")
Window.alert("same");
else
Window.alert("different");
}
前两个警报看起来完全一样。第三个提醒是different
。但我希望它是same
。
答案 0 :(得分:7)
使用equals
而不是==
来比较字符串:
if("Server Error: pleaseEnterQuestion".equals(errCode))
有关详细信息,请参阅此SO问题:How do I compare strings in Java?
答案 1 :(得分:2)
当您想要比较字符串时,请始终使用 equals()。此外,你必须在比较之前修剪(左,右或修剪:))你的字符串,因为它包含空格。
答案 2 :(得分:1)
使用 .equals()
在equals中,字符串的内容不是字符串对象的引用ID。
在 == 中,比较对象引用ID。
equals()方法在java中的String和Wrapper类中被覆盖,其他地方equals和==具有相同的功能。