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