Java Core junior

Почему String в Java immutable?

Ответ

Безопасность (передача в файлы, БД, сеть), потокобезопасность, кэширование hashCode, работа String Pool.

Разбор: String неизменяем ради безопасности, потокобезопасности без синхронизации, кэширования hashCode и работы String Pool. Ловушка: concat/replace не меняют строку на месте, а возвращают новый объект; final у класса запрещает наследование, а не мутацию полей; к поколениям GC и Eden/Survivor неизменяемость строк отношения не имеет.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться