Встречается на собеседованиях • сегодня
Почему строки неизменяемые
Строки в Java неизменяемы (immutable) по нескольким причинам:
- Безопасность — строки часто используются для хранения паролей, URL-ов и других чувствительных данных. Если бы они были изменяемыми, злоумышленник мог бы модифицировать их после создания.
- Кэширование хэшей — строка кэширует свой хэш-код при первом вычислении, что ускоряет работу в
HashMapи других коллекциях. - Потокобезопасность — неизменяемые объекты можно безопасно использовать в многопоточной среде без синхронизации.
- Строковый пул — JVM использует пул строк для оптимизации памяти. Если строка изменяется, это нарушит логику пула.
java
String s1 = "Hello";
String s2 = "Hello"; // Использует ту же ссылку из пула
s1 = s1 + " World"; // Создается новая строка, оригинал не меняется
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы