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

Какая внутренняя структура у строки

В Java строка (String) представляет собой неизменяемую (immutable) последовательность символов char. Внутренне она хранится как массив char[] (до Java 9) или byte[] (начиная с Java 9) с кодировкой UTF-16 или Latin-1 (для оптимизации памяти, если все символы влезают в 1 байт).

Дополнительные поля:

  • hash — кэшированный хеш-код строки (для быстрого доступа).
  • В Java 9+ добавлен coder — флаг, указывающий кодировку (LATIN1 или UTF16).

Пример:

java
String str = "Hello";
// Внутри: массив char[] {'H', 'e', 'l', 'l', 'o'} (до Java 9)
// Или byte[] + флаг coder (Java 9+)

Важно: Из-за неизменяемости любая операция (например, concat()) создает новый объект String. Для изменяемых строк используйте StringBuilder или StringBuffer.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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