Java Core junior
Почему String в Java immutable?
Ответ
Безопасность (передача в файлы, БД, сеть), потокобезопасность, кэширование hashCode, работа String Pool.
Разбор: String неизменяем ради безопасности, потокобезопасности без синхронизации, кэширования hashCode и работы String Pool. Ловушка: concat/replace не меняют строку на месте, а возвращают новый объект; final у класса запрещает наследование, а не мутацию полей; к поколениям GC и Eden/Survivor неизменяемость строк отношения не имеет.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.