java tutorial - Строки и методы класса String - учебник java - java programming - учиться java - java basics - java for beginners
Строки — представляют собой последовательность символов. Строки в Java широко используются и являются объектами.
- Платформа Java предоставляет класс строк (class String) для создания и работы со строками.
Создание строк
Наиболее простой способ создать строку:
- После каждого раза, когда компилятор встречает строковый литерал в коде, он создает строковый объект (String) со значение, в данном случае «Здравствуй, мир!».
- Как и в случае с другими объектами, можно создавать строковые объекты, используя ключевое слово new и конструктор.
- Класс строк имеет одиннадцать конструкторов, которые позволяют обеспечить начальное значение строки, используя различные источники, таких как массив символов.
Пример
Получим следующий результат:
- Примечание: Класс строк является неизменяемым, так что как только он будет создан, строковый объект не может быть изменен.
- Если есть необходимость сделать много изменений в строке символов, следует использовать классы строки буфера (String Buffer) и построитель строки (String Builder Classes).
Длина строки
- Методы, используемые для получения информации об объекте, известны как методы доступа.
- Один из методов доступа, который можно использовать со строками является метод length(), он возвращает количество символов, содержащихся в строковом объекте.
Ниже представлен пример метода length(), который поможет определить длину строки.
Пример
Получим следующий результат:
Объединение строк в Java
Класс строк включает метод для объединения двух строк:
- Возвращает новую строку string1, с добавленной строкой string2 в конце. Вы также можете использовать метод concat() со строковыми литералами:
- Чаще строки объединяют оператором +:
Что приводит к:
Давайте посмотрим на следующем примере.
Пример
Получим следующий результат:
Создание формата строк
- Мы уже изучали методы printf() и format() для вывода на печать с отформатированными числами.
- Класс строк в Java обладает эквивалентным методом format(), который возвращает строковый объект, а не потоковый объект (PrintStream).
- Использование строкового статического метода format() позволяет создавать строку нужного формата, который можно использовать повторно, в отличие от одноразовых операторов print. Например вместо:
Вы также можете написать:
Методы класса строк
- Ниже приведен список методов, поддерживаемых классом строк.
NO | Методы с описанием |
1 | char charAt(int index) Возвращает символ по указанному индексу. |
2 | int compareTo(Object o) Сравнивает данную строку с другим объектом. |
3 | int compareTo(String anotherString) Сравнивает две строки лексически. |
4 | int compareToIgnoreCase(String str) Сравнивает две строки лексически, игнорируя регистр букв. |
5 | String concat(String str) Объединяет указанную строку с данной строкой, путем добавления ее в конце. |
6 | boolean contentEquals(StringBuffer sb) Возвращает значение true только в том случае, если эта строка представляет собой ту же последовательность символов как указанно в буфере строки (StringBuffer). |
7 | static String copyValueOf(char[] data) Возвращает строку, которая представляет собой последовательность символов, в указанный массив. |
8 | static String copyValueOf(char[] data, int offset, int count) Возвращает строку, которая представляет собой последовательность символов, в указанный массив. |
9 | boolean endsWith(String suffix) Проверяет заканчивается ли эта строка указанным окончанием. |
10 | boolean equals(Object anObject) Сравнивает данную строку с указанным объектом. |
11 | boolean equalsIgnoreCase(String anotherString) Сравнивает данную строку с другой строкой, игнорируя регистр букв. |
12 | byte getBytes() Кодирует эту строку в последовательность байтов с помощью платформы charset, сохраняя результат в новый массив байтов. |
13 | byte[] getBytes(String charsetName Кодирует эту строку в последовательность байтов с помощью платформы charset, сохраняя результат в новый массив байтов. |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Копирует символы из этой строки в массив символов назначения. |
15 | int hashCode() Возвращает хэш-код для этой строки. |
16 | int indexOf(int ch) Возвращает индекс первого вхождения указанного символа в данной строке. |
17 | int indexOf(int ch, int fromIndex) Возвращает индекс первого вхождения указанного символа в данной строке, начиная поиск с указанного индекса. |
18 | int indexOf(String str) Возвращает индекс первого вхождения указанной подстроки в данной строке. |
19 | int indexOf(String str, int fromIndex) Возвращает индекс первого вхождения указанной подстроки в данной строке, начиная с указанного индекса. |
20 | String intern() Возвращает каноническое представление для строкового объекта. |
21 | int lastIndexOf(int ch) Возвращает индекс последнего вхождения указанного символа в этой строке. |
22 | int lastIndexOf(int ch, int fromIndex) Возвращает индекс последнего вхождения указанного символа в этой строке, начиная обратный поиск с указанного индекса. |
23 | int lastIndexOf(String str) Возвращает индекс последнего вхождения указанной подстроки в данной строке. |
24 | int lastIndexOf(String str, int fromIndex) Возвращает индекс последнего вхождения указанной подстроки в этой строке, начиная обратный поиск с указанного индекса. |
25 | int length() Возвращает длину строки. |
26 | boolean matches(String regex) Сообщает, соответствует ли или нет эта строка заданному регулярному выражению. |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Проверяет равны ли две области строки. |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) Проверяет равны ли две области строки. |
29 | String replace(char oldChar, char newChar) Возвращает новую строку, в результате, заменив все вхождения oldChar в этой строке на newChar. |
30 | String replaceAll(String regex, String replacement) Заменяет каждую подстроку строки, соответствующей заданному регулярному выражению с данной заменой. |
31 | String replaceFirst(String regex, String replacement) Заменяет первые подстроки данной строки, которая соответствует заданному регулярному выражению с данной заменой. |
32 | >String[] split(String regex) Разделяет эту строку, окружая данным регулярным выражением. |
33 | String[] split(String regex, int limit) Разделяет эту строку, окружая данным регулярным выражением. |
34 | boolean startsWith(String prefix) Проверяет, начинается ли эта строка с заданного префикса. |
35 | boolean startsWith(String prefix, int toffset) Проверяет, начинается ли эта строка с указанного префикса, начиная с указанного индекса. |
36 | CharSequence subSequence(int beginIndex, int endIndex) Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности. |
37 | String substring(int beginIndex) Возвращает новую строку, которая является подстрокой данной строки. |
38 | String substring(int beginIndex, int endIndex) Возвращает новую строку, которая является подстрокой данной строки. |
39 | char[] toCharArray() Преобразует эту строку в новый массив символов. |
40 | String toLowerCase() Преобразует все символы в данной строке в нижний регистр, используя правила данного языкового стандарта. |
41 | String toLowerCase(Locale locale) Преобразует все знаки в данной строке в нижний регистр, используя правила данного языкового стандарта. |
42 | String toString() Этот объект (который уже является строкой!) возвращает себя. |
43 | String toUpperCase() Преобразует все символы в строке в верхний регистр, используя правила данного языкового стандарта. |
44 | String toUpperCase(Locale locale) Преобразует все символы в строке в верхний регистр, используя правила данного языкового стандарта. |
45 | String trim() Возвращает копию строки с пропущенными начальными и конечными пробелами. |
46 | static String valueOf(primitive data type x) Возвращает строковое представление переданного типа данных аргумента. |