Встречается на собеседованиях • сегодня
Как устроена строка
Строка в 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 (потокобезопасный).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы