Hier is mijn codefragment:
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);
}
}
Echter om de een of andere reden retourneert if (statusCheck != "success")
false
, en daarmee de MulticasterJoinException
.
Antwoord 1, autoriteit 100%
if (!"success".equals(statusCheck))
Antwoord 2, autoriteit 17%
==
en !=
werken aan objectidentiteit. Hoewel de twee String
s dezelfde waarde hebben, zijn het eigenlijk twee verschillende objecten.
gebruik in plaats daarvan !"success".equals(statusCheck)
.
Antwoord 3, autoriteit 16%
Natuurlijk kun je equals
gebruiken als je mee wilt doen met de massa, maar als je je mede-programmeurs echt wilt verbazen, controleer dan op ongelijkheid als volgt:
if ("success" != statusCheck.intern())
stagiairmethode maakt deel uit van de standaard Java String API.
Antwoord 4, autoriteit 3%
doe een van deze.
if(!statusCheck.equals("success"))
{
//do something
}
or
if(!"success".equals(statusCheck))
{
//do something
}
Antwoord 5, autoriteit 2%
Gebruik a.u.b. !statusCheck.equals("success")
in plaats van !=
.
Hierzijn meer details.
Antwoord 6
Je moet de methode equals()
gebruiken bij het vergelijken van een string, anders vergelijk je alleen de objectreferenties met elkaar, dus in jouw geval wil je:
if (!statusCheck.equals("success")) {
Antwoord 7
u kunt de equals()-methode gebruiken om aan uw eisen te voldoen. == in java heeft programmeertaal een andere betekenis!