Sobes.tech
Junior — Middle

Que se passe-t-il si on compare une chaîne vide entre guillemets avec une autre variable en utilisant l'opérateur ==?

sobes.tech IA

Réponse de l'IA

В 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