2011-05-11 94 views
2

我在我的演讲下面的代码在GWT MVP应用:GWT:字符串比较不工作

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

+2

作为一个好奇的旁注:在Javascript中==工作正常(因为它比较值)。 GWT将String.equals转换为(或多或少)。所以这段代码将以编译模式(生产模式)工作,但不能进入开发者模式(调试)......说:**请使用等于!!! ** :) – helios 2011-05-11 10:32:56

回答

1

使用.equals()

在等于内容字符串被比较而不是字符串对象的引用ID。

==对对象引用ID进行比较。

等于()方法在String中的重写和Wrapper类在其他地方都等于和==具有相同的功能。

2

总是使用等于()当你想比较字符串。此外,你必须在比较之前有时修剪(左,右或修剪:))你的字符串,因为它包含空格。