Sobes.tech
Junior — Middle

Šta će se desiti ako uporedite prazan string u navodnicima sa drugom promenljivom pomoću operatora ==?

sobes.tech АИ

Одговор од АИ

В Java оператор == при сравнении строк сравнивает ссылки на объекты, а не их содержимое. Если у вас есть пустая строка, созданная как "", и другая переменная типа String, то:

  • Если другая переменная тоже указывает на строковый литерал "" из пула строк, то == вернёт true, так как оба ссылаются на один и тот же объект.
  • Если же другая переменная — это новый объект строки, например, созданный через new String(""), то == вернёт false, так как ссылки разные.

Для сравнения содержимого строк всегда следует использовать метод .equals(). Например:

String a = "";
String b = new String("");
System.out.println(a == b); // false
System.out.println(a.equals(b)); // true