Java - класс строк
Строки, которые широко используются в программировании на Java, представляют собой последовательность символов. В языке программирования Java строки рассматриваются как объекты.
Платформа Java предоставляет класс String для создания строк и управления ими.
Создание строк
Самый прямой способ создать строку - написать -
String greeting = "Hello world!";
Каждый раз, когда он встречает строковый литерал в вашем коде, компилятор создает объект String с его значением в данном случае «Hello world!».
Как и любой другой объект, вы можете создавать объекты String, используя ключевое слово new и конструктор. Класс String имеет 11 конструкторов, которые позволяют предоставить начальное значение строки с использованием различных источников, таких как массив символов.
пример
public class StringDemo {
public static void main(String args[]) {
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println( helloString );
}
}
Это даст следующий результат -
Вывод
hello.
Note- Класс String является неизменяемым, поэтому после его создания объект String нельзя изменить. Если есть необходимость внести много изменений в строки символов, вам следует использовать классы String Buffer и String Builder .
Длина строки
Методы, используемые для получения информации об объекте, известны как accessor methods. Одним из методов доступа, который можно использовать со строками, является метод length (), который возвращает количество символов, содержащихся в строковом объекте.
Следующая программа является примером length(), метод String класс.
пример
public class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println( "String Length is : " + len );
}
}
Это даст следующий результат -
Вывод
String Length is : 17
Объединение строк
Класс String включает в себя метод объединения двух строк -
string1.concat(string2);
Это возвращает новую строку, которая является строкой1 с добавленной к ней строкой2 в конце. Вы также можете использовать метод concat () со строковыми литералами, как в -
"My name is ".concat("Zara");
Строки чаще объединяются оператором +, например -
"Hello," + " world" + "!"
что приводит к -
"Hello, world!"
Давайте посмотрим на следующий пример -
пример
public class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
Это даст следующий результат -
Вывод
Dot saw I was Tod
Создание строк формата
У вас есть методы printf () и format () для печати вывода с форматированными числами. Класс String имеет эквивалентный метод класса format (), который возвращает объект String, а не объект PrintStream.
Использование статического метода format () для String позволяет создать отформатированную строку, которую можно использовать повторно, в отличие от одноразового оператора печати. Например, вместо -
пример
System.out.printf("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
Вы можете написать -
String fs;
fs = String.format("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
System.out.println(fs);
Строковые методы
Вот список методов, поддерживаемых классом String -
Sr. No. | Метод и описание |
---|---|
1 | char charAt (индекс int) Возвращает символ по указанному индексу. |
2 | int compareTo (объект o) Сравнивает эту строку с другим объектом. |
3 | int compareTo (строка anotherString) Лексикографически сравнивает две строки. |
4 | int compareToIgnoreCase (строка str) Сравнивает две строки лексикографически, игнорируя регистр символов. |
5 | Строка concat (String str) Объединяет указанную строку в конец этой строки. |
6 | логическое contentEquals (StringBuffer sb) Возвращает true тогда и только тогда, когда эта String представляет ту же последовательность символов, что и указанный StringBuffer. |
7 | статическая строка copyValueOf (данные char []) Возвращает строку, представляющую последовательность символов в указанном массиве. |
8 | static String copyValueOf (данные char [], смещение int, количество целых чисел) Возвращает строку, представляющую последовательность символов в указанном массиве. |
9 | логическое endWith (строковый суффикс) Проверяет, заканчивается ли эта строка указанным суффиксом. |
10 | логическое равно (объект anObject) Сравнивает эту строку с указанным объектом. |
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 | интервал indexOf (интервал ch) Возвращает индекс в этой строке первого вхождения указанного символа. |
17 | интервал indexOf (интервал ch, интервал fromIndex) Возвращает индекс в этой строке первого вхождения указанного символа, начиная поиск с указанного индекса. |
18 | int indexOf (строка str) Возвращает индекс в этой строке первого вхождения указанной подстроки. |
19 | int indexOf (строка str, int fromIndex) Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса. |
20 | Строка intern () Возвращает каноническое представление строкового объекта. |
21 год | интервал lastIndexOf (интервал ch) Возвращает индекс в этой строке последнего вхождения указанного символа. |
22 | интервал lastIndexOf (интервал ch, интервал fromIndex) Возвращает в этой строке индекс последнего вхождения указанного символа с поиском в обратном направлении, начиная с указанного индекса. |
23 | int lastIndexOf (строка str) Возвращает в этой строке индекс самого правого вхождения указанной подстроки. |
24 | int lastIndexOf (строка str, int fromIndex) Возвращает индекс в этой строке последнего вхождения указанной подстроки с поиском в обратном направлении, начиная с указанного индекса. |
25 | длина int () Возвращает длину этой строки. |
26 | логические совпадения (регулярное выражение String) Сообщает, соответствует ли эта строка заданному регулярному выражению. |
27 | логическое значение regionMatches (логическое ignoreCase, int toffset, String other, int ooffset, int len) Проверяет, равны ли две строковые области. |
28 | логическое значение regionMatches (int toffset, String other, int ooffset, int len) Проверяет, равны ли две строковые области. |
29 | Замена строки (char oldChar, char newChar) Возвращает новую строку, полученную в результате замены всех вхождений oldChar в этой строке на newChar. |
30 | String replaceAll (регулярное выражение строки, замена строки Заменяет каждую подстроку этой строки, которая соответствует заданному регулярному выражению с заданной заменой. |
31 год | String replaceFirst (регулярное выражение строки, замена строки) Заменяет первую подстроку этой строки, которая соответствует заданному регулярному выражению с заданной заменой. |
32 | String [] split (регулярное выражение String) Разбивает эту строку вокруг совпадений с заданным регулярным выражением. |
33 | String [] split (регулярное выражение String, ограничение int) Разбивает эту строку вокруг совпадений с заданным регулярным выражением. |
34 | логическое начинается с (префикс строки) Проверяет, начинается ли эта строка с указанного префикса. |
35 год | логическое startWith (строковый префикс, int toffset) Проверяет, начинается ли эта строка с указанного префикса, начиная с указанного индекса. |
36 | Подпоследовательность CharSequence (int beginIndex, int endIndex) Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности. |
37 | Строковая подстрока (int beginIndex) Возвращает новую строку, которая является подстрокой этой строки. |
38 | Строковая подстрока (int beginIndex, int endIndex) Возвращает новую строку, которая является подстрокой этой строки. |
39 | char [] toCharArray () Преобразует эту строку в новый массив символов. |
40 | Строка toLowerCase () Преобразует все символы в этой строке в нижний регистр, используя правила локали по умолчанию. |
41 год | Строка toLowerCase (языковой стандарт) Преобразует все символы в этой строке в нижний регистр, используя правила данной локали. |
42 | Строка toString () Этот объект (который уже является строкой!) Возвращается сам. |
43 год | Строка toUpperCase () Преобразует все символы в этой строке в верхний регистр, используя правила локали по умолчанию. |
44 | String toUpperCase (языковой стандарт) Преобразует все символы в этой строке в верхний регистр, используя правила данной локали. |
45 | Обрезка струны () Возвращает копию строки без начальных и конечных пробелов. |
46 | статическая строка valueOf (примитивный тип данных x) Возвращает строковое представление переданного аргумента типа данных. |