Java GWT:字符串比较不起作用
我在GWT MVP应用程序中的演示者中有以下代码:Java GWT:字符串比较不起作用,java,gwt,Java,Gwt,我在GWT MVP应用程序中的演示者中有以下代码: public void onFailure(ServerFailure error) { String errCode = error.getMessage(); Window.alert(errCode); Window.alert("Server Error: pleaseEnterQuestion"); if(errCode == "Server Error: pleaseEnterQuestion"
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");
}
前两个警报看起来完全相同。第三个警报不同。但是我希望它是相同的,使用
等于,而不是=
,来比较字符串:
if("Server Error: pleaseEnterQuestion".equals(errCode))
有关更多信息,请参见此SO问题:使用.equals()
在equals中,比较字符串的内容而不是字符串对象的引用ID
在=中,比较对象引用ID
equals()方法在java中的String和Wrapper类中被重写。在其他地方,equals和==具有相同的功能。在需要比较字符串时始终使用equals()。此外,在比较之前,您有时必须修剪字符串(左、右或只修剪:),因为它包含空格。作为一个奇怪的旁注:在Javascript中==工作正常(因为它比较值)。和GWT转换字符串。等于(或多或少)。因此,此代码将在编译模式(生产模式)下工作,但不会在开发人员模式(调试模式)下工作。。。说:请用等号!!!:)