Класс String в Java: создание, манипуляции и основные методы
Строки — последовательности символов. В Java строки — объекты. Платформа предоставляет класс String для создания и манипуляции.
Создание строк
Самый прямой способ — строковый литерал:
String greeting = "Hello world!";
Компилятор создаёт объект String. Также можно через new и конструкторы (11 вариантов, например, из массива char).
char[] helloArray = {'h','e','l','l','o','.'};
String helloString = new String(helloArray); // "hello."
Важно: String неизменен (immutable). Для частых модификаций используйте StringBuffer или StringBuilder.
Длина строки
Метод length() — акцессор, возвращает количество символов.
String palindrome = "Dot saw I was Tod";
int len = palindrome.length(); // 17
Конкатенация
string1.concat(string2) // новый объект
"My name is ".concat("Zara") // "My name is Zara"
"Hello," + " world" + "!" // "Hello, world!"
Форматированные строки
Статический String.format() возвращает отформатированную строку для повторного использования.
String fs = String.format("float=%f, int=%d, str=%s", floatVar, intVar, stringVar);
System.out.println(fs);
Основные методы String (46 шт.)
| № | Метод и описание |
|---|---|
| 1 | charAt(int index) — символ по индексу. |
| 2 | compareTo(Object) — сравнение с объектом. |
| 3 | compareTo(String) — лексикографическое сравнение. |
| 4 | compareToIgnoreCase(String) — без учёта регистра. |
| 5 | concat(String) — конкатенация. |
| 6 | contentEquals(StringBuffer) — равенство последовательности символов. |
| 7 | copyValueOf(char[]) — строка из массива char. |
| 8 | copyValueOf(char[], offset, count) — часть массива. |
| 9 | endsWith(String) — заканчивается ли суффиксом. |
| 10 | equals(Object) — сравнение с объектом. |
| 11 | equalsIgnoreCase(String) — без учёта регистра. |
| 12 | getBytes() — байты в кодировке платформы. |
| 13 | getBytes(String charset) — байты в указанной кодировке. |
| 14 | getChars(srcBegin, srcEnd, dst[], dstBegin) — копирование в массив char. |
| 15 | hashCode() — хэш-код. |
| 16 | indexOf(int ch) — первое вхождение символа. |
| 17 | indexOf(int ch, fromIndex) — с позиции. |
| 18 | indexOf(String) — первое вхождение подстроки. |
| 19 | indexOf(String, fromIndex) — с позиции. |
| 20 | intern() — каноническое представление. |
| 21 | lastIndexOf(int ch) — последнее вхождение символа. |
| 22 | lastIndexOf(int ch, fromIndex) — назад от позиции. |
| 23 | lastIndexOf(String) — последнее вхождение подстроки. |
| 24 | lastIndexOf(String, fromIndex) — назад от позиции. |
| 25 | length() — длина. |
| 26 | matches(regex) — соответствует ли regex. |
| 27 | regionMatches(ignoreCase, toffset, other, ooffset, len) — сравнение регионов. |
| 28 | regionMatches(toffset, other, ooffset, len) — с учётом регистра. |
| 29 | replace(oldChar, newChar) — замена символа. |
| 30 | replaceAll(regex, replacement) — замена по regex. |
| 31 | replaceFirst(regex, replacement) — замена первого совпадения. |
| 32 | split(regex) — разбиение по regex. |
| 33 | split(regex, limit) — с лимитом частей. |
| 34 | startsWith(prefix) — начинается с префикса. |
| 35 | startsWith(prefix, toffset) — с позиции. |
| 36 | subSequence(begin, end) — подпоследовательность. |
| 37 | substring(begin) — подстрока от индекса. |
| 38 | substring(begin, end) — подстрока в диапазоне. |
| 39 | toCharArray() — в массив char. |
| 40 | toLowerCase() — в нижний регистр (locale по умолчанию). |
| 41 | toLowerCase(Locale) — в нижний регистр (заданный locale). |
| 42 | toString() — возвращает сам объект. |
| 43 | toUpperCase() — в верхний регистр. |
| 44 | toUpperCase(Locale) — в верхний регистр (заданный locale). |
| 45 | trim() — удаление пробелов по краям. |
| 46 | valueOf(primitive) — строковое представление примитива. |
java
- Освоение строк в Java: создание, методы и лучшие практики
- Ключевое слово final в Java: переменные, методы и классы
- Оператор instanceof в Java: полное руководство с примерами
- Статические вложенные классы в Java: использование, отличия и примеры
- Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
- Паттерн Singleton в Java: как реализовать и безопасно использовать
- Строковые представления в Java Enums: настройка toString() и лучшие практики
- Рефлексия в Java: инспекция классов, методов и полей во время выполнения
- Освоение Java ObjectOutputStream: сериализация, методы и практические примеры
- Освоение Java Generics: создание переиспользуемого, типобезопасного кода