Sobes.tech
Назад к вопросам
Junior — Middle
70

Что произойдет, если сравнить двумя кавычками пустую строку с другой переменной с помощью оператора ==?

Ответ от нейросети

sobes.tech 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