Java不等于(!=)不起作用?

Java Does Not Equal (!=) Not Working?

本问题已经有最佳答案,请猛点这里访问。

这是我的代码段:

1
2
3
4
5
6
7
public void joinRoom(String room) throws MulticasterJoinException {
  String statusCheck = this.transmit("room","join", room +"," + this.groupMax +"," + this.uniqueID);

  if (statusCheck !="success") {
    throw new MulticasterJoinException(statusCheck, this.PAppletRef);
  }
}

然而,由于某种原因,if (statusCheck !="success")返回false从而抛出MulticasterJoinException


1
if (!"success".equals(statusCheck))


当然,如果你想和大家一起去,你可以用equals,但是如果你真的想让你的程序员同事们大吃一惊的话,可以这样检查不平等:

1
if ("success" != statusCheck.intern())

实习生方法是标准Java String API的一部分。


==!=研究对象身份。虽然两个String具有相同的值,但它们实际上是两个不同的对象。

!"success".equals(statusCheck)代替。


做其中一个。

1
2
3
4
5
6
7
8
9
10
11
   if(!statusCheck.equals("success"))
    {
        //do something
    }

      or

    if(!"success".equals(statusCheck))
    {
        //do something
    }


请使用!statusCheck.equals("success")代替!=

这里有更多的细节。


在比较字符串时,需要使用equals()方法,否则您只是比较对象引用,因此在您的情况下,您需要:

1
if (!statusCheck.equals("success")) {


您可以使用equals()方法来满足您的需求。=在Java编程语言中有不同的含义!