Junior — Middle
Τι θα συμβεί αν δημιουργήσετε μια συμβολοσειρά με το new String και τη συγκρίνετε με το λογιό " " χρησιμοποιώντας τον τελεστή ==;
sobes.tech AI
Απάντηση από AI
При создании строки с помощью new String(" ") создаётся новый объект в куче, который содержит строку с одним пробелом. Литерал " " при этом ссылается на строку из пула строк (String Pool).
Оператор == сравнивает ссылки на объекты, а не их содержимое. Поэтому выражение:
new String(" ") == " "
вернёт false, так как это разные объекты в памяти.
Для сравнения содержимого строк нужно использовать метод .equals(), например:
new String(" ").equals(" ") // вернёт true