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

Как устроена строка

Строка в Java — это неизменяемый (immutable) объект класса String, который хранит последовательность символов в кодировке UTF-16. Все строковые литералы автоматически попадают в пул строк (String Pool), что позволяет избежать дублирования.

Особенности:

  • Неизменяемость: любая операция (например, concat()) создает новую строку.
  • Пул строк: "abc" == "abc"true (один объект в пуле), но new String("abc") == "abc"false.
  • Под капотом: до Java 9 — массив char[], после — byte[] (оптимизация для латинских символов).

Пример:

java
String s1 = "hello";  // Попадает в пул  
String s2 = new String("hello");  // Создается новый объект  
System.out.println(s1 == s2);  // false (разные объекты)  
System.out.println(s1.equals(s2));  // true (одинаковое содержимое)  

Для изменяемых строк используют StringBuilder (не потокобезопасный) или StringBuffer (потокобезопасный).

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

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

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

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