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() и другие.Примеры создания строк:
java
Сравнение строк:
equals(): Сравнивает содержимое строк.==: Сравнивает ссылки на объекты. Для строковых литералов одинаковое содержимое обычно означает одинаковые ссылки из пула строк, но для объектов, созданных с new String(), == будет false даже при одинаковом содержимом.java
Для изменения строк в Java используются классы StringBuilder (не синхронизирован, для однопоточной среды) и StringBuffer (синхронизирован, для многопоточной среды), которые являются изменяемыми.
java