Java — класс строк
Строки, которые широко используются в программировании на Java, представляют собой последовательность символов. В языке программирования Java строки рассматриваются как объекты.
Платформа Java предоставляет класс String для создания строк и управления ими.
Создание строк
Самый прямой способ создать строку — написать —
04
Всякий раз, когда он встречает строковый литерал в вашем коде, компилятор создает объект String со своим значением, в данном случае «Hello world!».
Как и в случае с любым другим объектом, вы можете создавать объекты String, используя ключевое слово new и конструктор. Класс String имеет 11 конструкторов, которые позволяют предоставить начальное значение строки, используя различные источники, например массив символов.
Пример
Живая демонстрация13
Это даст следующий результат —
Вывод
21
Примечание − Класс String является неизменяемым, поэтому после его создания объект String не может быть изменен. Если есть необходимость внести много изменений в строки символов, вам следует использовать классы String Buffer и String Builder.
Длина строки
Методы, используемые для получения информации об объекте, называются методами доступа. . Одним из методов доступа, который можно использовать со строками, является метод length(), который возвращает количество символов, содержащихся в строковом объекте.
Следующая программа является примером length(). , метод класса String.
Пример
Живая демонстрация35
Это даст следующий результат —
Вывод
43
Объединение строк
Класс String включает метод для объединения двух строк —
51
Это возвращает новую строку, которая является строкой1 с добавленной к ней строкой2 в конце. Вы также можете использовать метод concat() со строковыми литералами, например -
64
Строки чаще объединяются с помощью + оператор, как в −
76
что приводит к −
82
Давайте посмотрим на следующий пример —
Пример
Живая демонстрация92
Это даст следующий результат —
Вывод
100пре>Создание строк формата
У вас есть методы printf() и format() для вывода отформатированных чисел. Класс String имеет эквивалентный метод класса, format(), который возвращает объект String, а не объект PrintStream.
Использование статического метода format() класса String позволяет вам создать отформатированную строку, которую вы можете использовать повторно, в отличие от одноразового оператора печати. Например, вместо -
Пример
117Вы можете написать —
122Строковые методы
Вот список методов, поддерживаемых классом String —
Сер.№ | Метод и описание |
---|---|
1 | char charAt(int index) Возвращает символ по указанному индексу. |
2 | int compareTo(Объект o) Сравнивает эту строку с другим объектом. |
3 | int compareTo(String otherString) Сравнивает две строки лексикографически. |
4 | int compareToIgnoreCase(String str) Сравнивает две строки лексикографически, игнорируя различия в регистре. |
5 | Конкат строки (строка ул) Объединяет указанную строку в конец этой строки. |
6 | логическое значение contentEquals (StringBuffer sb) Возвращает true тогда и только тогда, когда эта строка представляет ту же последовательность символов, что и указанный StringBuffer. |
7 | статическая строка copyValueOf(char[] data) Возвращает строку, представляющую последовательность символов в указанном массиве. |
8 | static String copyValueOf(char[] data, int offset, int count) Возвращает строку, представляющую последовательность символов в указанном массиве. |
9 | логическое значение endWith (суффикс строки) Проверяет, заканчивается ли эта строка указанным суффиксом. |
10 | логическое равенство (объект и объект) Сравнивает эту строку с указанным объектом. |
11 | логическое значение equalsIgnoreCase(String AnotherString) Сравнивает эту строку с другой строкой, игнорируя регистр. |
12 | byte[] getBytes() Кодирует эту строку в последовательность байтов, используя кодировку платформы по умолчанию, сохраняя результат в новый массив байтов. |
13 | byte[] getBytes(String charsetName) Кодирует эту строку в последовательность байтов, используя именованный набор символов, сохраняя результат в новый массив байтов. |
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 | Строка стажера() Возвращает каноническое представление строкового объекта. |
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 | целая длина() Возвращает длину этой строки. |
26 | логические совпадения (строковые регулярные выражения) Сообщает, соответствует ли эта строка заданному регулярному выражению. |
27 | boolean regionMatches (boolean ignoreCase, int toffset, String other, int ooffset, int len) Проверяет, равны ли две строковые области. |
28 | boolean regionMatches (int tooffset, String other, int ooffset, int len) Проверяет, равны ли две строковые области. |
29 | Заменить строку (char oldChar, char newChar) Возвращает новую строку, полученную в результате замены всех вхождений oldChar в этой строке на newChar. |
30 | String replaceAll(регулярное выражение строки, замена строки Заменяет каждую подстроку этой строки, которая соответствует заданному регулярному выражению, заданной заменой. |
31 | String replaceFirst(регулярное выражение строки, замена строки) Заменяет первую подстроку этой строки, которая соответствует заданному регулярному выражению, заданной заменой. |
32 | Разделение строки [] (регулярное выражение строки) Разбивает эту строку вокруг совпадений заданного регулярного выражения. |
33 | String[] split(String regex, int limit) Разбивает эту строку вокруг совпадений заданного регулярного выражения. |
34 | логическое значение startWith (строковый префикс) Проверяет, начинается ли эта строка с указанного префикса. |
35 | логическое значениеstartWith(String prefix, inttoffset) Проверяет, начинается ли эта строка с указанного префикса, начиная с указанного индекса. |
36 | CharSequence subSequence(int beginIndex, int endIndex) Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности. |
37 | Подстрока строки (int beginIndex) Возвращает новую строку, являющуюся подстрокой этой строки. |
38 | Подстрока строки (int beginIndex, int endIndex) Возвращает новую строку, являющуюся подстрокой этой строки. |
39 | char[] toCharArray() Преобразует эту строку в новый массив символов. |
40 | Строка toLowerCase() Преобразует все символы этой строки в нижний регистр, используя правила локали по умолчанию. |
41 | String toLowerCase(локаль) Преобразует все символы этой строки в нижний регистр, используя правила данной локали. |
42 | Строка toString() Этот объект (который уже является строкой!) сам возвращается. |
43 | Строка toUpperCase() Преобразует все символы этой строки в верхний регистр, используя правила локали по умолчанию. |
44 | Строка toUpperCase(язык) Преобразует все символы этой строки в верхний регистр, используя правила данной локали. |
45 | Обрезка строки() Возвращает копию строки с опущенными начальными и конечными пробелами. |
46 | static String valueOf (примитивный тип данных x) Возвращает строковое представление переданного аргумента типа данных. |
java