Junior — Middle
Čo sa stane, ak porovnáte prázdny reťazec v úvodzovkách s inou premennou pomocou operátora ==?
sobes.tech AI
Odpoveď od AI
В 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