Класс String в Java представляет неизменяемую последовательность символов.
Основные характеристики и особенности:
String, его содержимое не может быть изменено. Любая операция, которая кажется модифицирующей строку (например, конкатенация), на самом деле создает новый объект String. Это повышает безопасность и потокобезопасность.+: Для строк перегружен оператор + для выполнения конкатенации.String s1 = "Hello"; - создается в пуле строк (String Pool).new: String s2 = new String("World"); - создается в куче (Heap), может быть создан новый объект даже при наличии такого же литерала в пуле.length(): Возвращает длину строки.charAt(int index): Возвращает символ по указанному индексу.substring(int beginIndex, int endIndex): Возвращает подстроку.contains(CharSequence s): Проверяет, содержит ли строка указанную последовательность символов.indexOf(int ch) / indexOf(String str): Возвращает индекс первого вхождения символа или подстроки.equals(Object anObject): Сравнивает содержимое строк. Важно использовать equals() для сравнения содержимого, а не ==, который сравнивает ссылки на объекты.equalsIgnoreCase(String anotherString): Сравнивает строки без учета регистра.replace(char oldChar, char newChar) / replace(CharSequence target, CharSequence replacement): Заменяет символы или подстроки.trim(): Удаляет пробелы в начале и конце строки.split(String regex): Разбивает строку на подстроки по разделителю.Пример создания и некоторых операций:
java
Неизменяемость String может приводить к неэффективности при многократных модификациях строки, так как каждый раз создается новый объект. Для таких сценариев предпочтительнее использовать StringBuilder или StringBuffer.