Встречается на собеседованиях • сегодня

Что Java вернет, если создать строку, которая уже есть в String Pool

При создании строки через литерал (String s = "text") Java сначала проверяет String Pool. Если такая строка уже существует, возвращается ссылка на существующий объект из пула. Если нет — строка добавляется в пул, и возвращается новая ссылка.

Пример:

java
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true (ссылки одинаковые)

Для new String("text") создается новый объект в куче, даже если строка есть в пуле:

java
String s3 = new String("hello");
System.out.println(s1 == s3); // false (разные ссылки)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы