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

Почему строки неизменяемые

Строки в Java неизменяемы (immutable) по нескольким причинам:

  1. Безопасность — строки часто используются для хранения паролей, URL-ов и других чувствительных данных. Если бы они были изменяемыми, злоумышленник мог бы модифицировать их после создания.
  2. Кэширование хэшей — строка кэширует свой хэш-код при первом вычислении, что ускоряет работу в HashMap и других коллекциях.
  3. Потокобезопасность — неизменяемые объекты можно безопасно использовать в многопоточной среде без синхронизации.
  4. Строковый пул — JVM использует пул строк для оптимизации памяти. Если строка изменяется, это нарушит логику пула.
java
String s1 = "Hello";  
String s2 = "Hello";  // Использует ту же ссылку из пула
s1 = s1 + " World";   // Создается новая строка, оригинал не меняется
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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