Мастерство работы со строками в Java: основные функции, методы и примеры
Что такое строки?
В Java String — неизменяемая последовательность символов, по сути специализированный массив для представления текстовых данных. Например, слово ROSE можно визуализировать как:
В этом руководстве вы узнаете:
- Что такое строки и зачем они нужны.
- Когда их использовать.
- Частые синтаксические паттерны.
- Техники конкатенации.
- Ключевые методы Java String.
Зачем использовать строки?
Текстовая обработка — ядро разработки ПО: меню, диалоги, логи, API — все опираются на неё. Класс Java String даёт надёжный, типо-безопасный способ хранения и манипуляции текстовыми данными, позволяя строить удобные интерфейсы и выполнять сложные строковые операции с минимальными накладными расходами.
Примеры синтаксиса строк
Хотя строку можно создать из массива символов, чаще всего используется строковый литерал:
// Через массив символов
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample1 = new String(arrSample);
// Прямой строковый литерал
String strSample2 = "ROSE";
Форма литерала автоматически помещает строку в String Constant Pool, экономя память и повышая производительность.
Конкатенация строк
Конкатенация объединяет две и более строк в одну. Java предлагает два удобных способа:
- Метод
concat() - Оператор
+
Пример:
public class SampleString {
public static void main(String[] args) {
String str1 = "Rock";
String str2 = "Star";
// Способ 1: concat
String str3 = str1.concat(str2);
System.out.println(str3);
// Способ 2: + оператор
String str4 = str1 + str2;
System.out.println(str4);
}
}
Ключевые методы Java String
Ниже — важнейшие методы, которые каждый Java-разработчик должен знать, с наглядными примерами.
length()
String strSample = "RockStar";
System.out.println("Length of String: " + strSample.length());
Вывод: Length of String: 8
indexOf()
String strSample = "RockStar";
System.out.println("Character at position 5: " + strSample.charAt(5));
System.out.println("Index of 'S': " + strSample.indexOf('S'));
Вывод:
Character at position 5: t
Index of 'S': 4
charAt()
String strSample = "RockStar";
System.out.println("Character at position 5: " + strSample.charAt(5));
Вывод: Character at position 5: t
compareTo() и compareToIgnoreCase()
String strSample = "RockStar";
System.out.println("Compare To 'rockstar': " + strSample.compareTo("rockstar"));
System.out.println("Compare To 'ROCKSTAR' (ignore case): " + strSample.compareToIgnoreCase("ROCKSTAR"));
Вывод:
Compare To 'rockstar': -32
Compare To 'ROCKSTAR' (ignore case): 0
contains()
String strSample = "RockStar";
System.out.println("Contains 'tar': " + strSample.contains("tar"));
Вывод: Contains 'tar': true
endsWith()
String strSample = "RockStar";
System.out.println("Ends with 'r': " + strSample.endsWith("r"));
Вывод: Ends with 'r': true
replace() / replaceAll() / replaceFirst()
String strSample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + strSample.replace("Rock", "Duke"));
Вывод: Replace 'Rock' with 'Duke': DukeStar
toLowerCase() и toUpperCase()
String strSample = "RockStar";
System.out.println("Lower case: " + strSample.toLowerCase());
System.out.println("Upper case: " + strSample.toUpperCase());
Вывод:
Lower case: rockstar
Upper case: ROCKSTAR
Важные замечания
- String — final и immutable. После создания содержимое нельзя изменить.
- Java String Constant Pool хранит строковые литералы, устраняя дубликаты.
- Строки относятся к
java.lang.String; импорт не требуется. - Переназначение ссылки (напр.
h1 = "hello" + "world";) не удаляет исходную строку; просто указывает на новый объект. - Множественные ссылки могут указывать на один строковый литерал, разделяя запись в пуле.
- Обрамление числа в кавычки (напр.
"123") делает его строкой; конкатенация с числом будет строковой, если не добавить числовое значение явно.
Вот и всё о строках — держите эти основы в уме, и вы пишете чище, более эффективный Java-код.
java
- Абстрактные классы и методы в Java: полное руководство
- Метод String.length() в Java: как получить длину строки (пример)
- Освоение String.indexOf() в Java: поиск подстрок и практические примеры
- Понимание String.charAt() в Java: синтаксис, возвращаемый тип, исключения и пример
- Освоение String.compareTo() в Java: синтаксис, сценарии использования и примеры
- Метод String.contains() в Java: как проверить наличие подстроки — примеры
- Освоение String.endsWith() в Java: проверка суффиксов строки с примерами
- Замена строк в Java: replace(), replaceAll() и replaceFirst() подробно
- Java String toLowerCase() и toUpperCase(): преобразование регистра с учётом локали
- Чтение файлов в Java с BufferedReader — Практическое руководство с примерами