String в Java — это неизменяемый (immutable) класс, представляющий последовательность символов.
Ключевые особенности:
String
, его содержимое не может быть изменено. Любая операция, которая выглядит как изменение строки, фактически возвращает новый объект String
. Это делает объекты String
потокобезопасными."hello"
), JVM сначала проверяет пул строк. Если такая строка уже существует, возвращается ссылка на существующий объект. Если нет, создается новый объект в пуле. При использовании конструктора new String("hello")
, новый объект всегда создается за пределами пула.+
: Оператор +
перегружен для конкатенации строк. Компилятор может оптимизировать конкатенацию с использованием StringBuilder
или StringBuffer
для повышения производительности.String
реализует интерфейсы Serializable
, Comparable<String>
и CharSequence
.String
предоставляет множество полезных методов для работы со строками: length()
, charAt()
, substring()
, indexOf()
, equals()
, equalsIgnoreCase()
, startsWith()
, endsWith()
, trim()
, replace()
, `split(String в Java — это неизменяемый (immutable) класс, представляющий последовательность символов.
Ключевые особенности:
String
, его содержимое не может быть изменено. Любая операция, которая выглядит как изменение строки, фактически возвращает новый объект String
. Это делает объекты String
потокобезопасными."hello"
), JVM сначала проверяет пул строк. Если такая строка уже существует, возвращается ссылка на существующий объект. Если нет, создается новый объект в пуле. При использовании конструктора new String("hello")
, новый объект всегда создается за пределами пула.+
: Оператор +
перегружен для конкатенации строк. Компилятор может оптимизировать конкатенацию с использованием StringBuilder
или StringBuffer
для повышения производительности.String
реализует интерфейсы Serializable
, Comparable<String>
и CharSequence
.String
предоставляет множество полезных методов для работы со строками: length()
, charAt()
, substring()
, indexOf()
, equals()
, equalsIgnoreCase()
, startsWith()
, endsWith()
, trim()
, replace()
, `split(Register or sign in to get access to full answers for all questions from the question bank.