Встречается на собеседованиях • сегодня
Каким образом в Java достигнута неизменяемость объектов String
В Java String неизменяем благодаря:
- final классу – нельзя наследоваться и переопределять поведение
- private final полям – нельзя изменить внутреннее состояние после создания
- Отсутствию сеттеров – нет методов для модификации данных
- Защитной копии в конструкторах – если передается массив char, создается копия
Пример:
java
String s1 = "hello";
String s2 = s1.concat(" world"); // создается новый объект
System.out.println(s1); // "hello" - оригинал не изменилсяПри "изменении" String всегда создается новый объект, а старый остается в памяти (если на него есть ссылки). Это обеспечивает безопасность в многопоточной среде и позволяет кэшировать хэш-код.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы