这是我的代码段:
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
。
答案 0 :(得分:156)
if (!"success".equals(statusCheck))
答案 1 :(得分:31)
当然,如果你想和人群一起使用,你可以使用equals
,但是如果你真的想让你的同事们惊奇地检查这样的不平等:
if ("success" != statusCheck.intern())
intern方法是标准Java String API的一部分。
答案 2 :(得分:22)
==
和!=
处理对象标识。虽然两个String
具有相同的值,但它们实际上是两个不同的对象。
改为使用!"success".equals(statusCheck)
。
答案 3 :(得分:6)
做其中一个。
if(!statusCheck.equals("success"))
{
//do something
}
or
if(!"success".equals(statusCheck))
{
//do something
}
答案 4 :(得分:4)
请使用!statusCheck.equals("success")
代替!=
。
Here是更多详情。
答案 5 :(得分:3)
比较字符串时需要使用方法equals()
,否则你只是将对象引用相互比较,所以在你的情况下你想要:
if (!statusCheck.equals("success")) {
答案 6 :(得分:2)
您可以使用equals()方法来满足您的需求。 ==在java编程语言中有不同的含义!