Подтвердить что ты не робот

Java не равно (! =) Не работает?

Вот мой фрагмент кода:

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.

4b9b3361

Ответ 1

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

Ответ 2

Конечно, вы можете использовать equals, если хотите идти вместе с толпой, но если вы действительно хотите удивить своих коллег-программистов, проверьте неравенство следующим образом:

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

Ответ 3

== и != работают с идентификатором объекта. Хотя два String имеют одинаковое значение, они фактически представляют собой два разных объекта.

используйте !"success".equals(statusCheck) вместо этого.

Ответ 4

выполните одно из этих действий.

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

      or

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

Ответ 6

Вам нужно использовать метод equals() при сравнении строки, иначе вы просто сравниваете ссылки на объекты друг с другом, поэтому в вашем случае вы хотите:

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

Ответ 7

вы можете использовать метод equals() для соответствия вашим требованиям. == в языке программирования Java имеет другое значение!