1. Класс String Класс String находится в пакете java.lang. В Java используется класс String для создания строковых переменных, которые являются объектами. Класс String объявлен как final, что означает, что от него нельзя производить наследование. Объекты класса String после создания не могут быть изменены; они состоят из одного или нескольких символов и заключаются в двойные кавычки. 2. Создание объектов класса String Объявление строки: String stringName; Создание строки: stringName = new String(строка); или stringName = строка; 3. Конструкторы класса String
String str1 = new String();
String str2 = new String("asdf");
String str3 = new String(str2);
char[] value = {'a', 'b', 'c', 'd'};
String str4 = new String(value); // эквивалентно String str4 = new String("abcd");
char[] value = {'a', 'b', 'c', 'd'};
String str5 = new String(value, 1, 2); // эквивалентно String str5 = new String("bc");
byte[] strb = new byte[]{65, 66};
String str6 = new String(strb); // эквивалентно String str6 = new String("AB");
```**4. Часто используемые методы класса String**
1. Получение длины строки
**public int length()** // Возвращает длину строки.
```java
String str = new String("asdfzxc");
int strlength = str.length(); // strlength = 7
String str = new String("asdfzxc");
char ch = str.charAt(4); // ch = 'z'
String str1 = new String("asdfzxc");
String str2 = str1.substring(2); // str2 = "dfzxc"
String str3 = str1.substring(2, 5); // str3 = "dfz"
```4. Сравнение строк
1) **public int compareTo(String anotherString)** // этот метод сравнивает строки по алфавитному порядку и возвращает целое число, указывающее на отношение между текущей строкой и переданной строкой. Если текущий объект больше, то возвращается положительное число, если меньше — отрицательное, а при равенстве — ноль.
2) **public int compareToIgnoreCase(String anotherString)** // похож на `compareTo`, но игнорирует регистр букв.
3) **public boolean equals(Object anotherObject)** // сравнивает текущую строку с переданной строкой и возвращает `true`, если строки равны, иначе — `false`.
4) **public boolean equalsIgnoreCase(String anotherString)** // похож на `equals`, но игнорирует регистр букв.```
1 String str1 = new String("abc");
2 String str2 = new String("ABC");
3 int a = str1.compareTo(str2); // a > 0
4 int b = str1.compareToIgnoreCase(str2); // b = 0
5 boolean c = str1.equals(str2); // c = false
6 boolean d = str1.equalsIgnoreCase(str2); // d = true
str
с текущей строкой, эффект аналогичен оператору +
.1 String str = "aa".concat("bb").concat("cc");
2 эквивалентно String str = "aa" + "bb" + "cc";
fromIndex
.fromIndex
и двигается в обратном направлении.1 String str = new String("asDF");
2 String str1 = str.toLowerCase(); // str1 = "asdf"
3 String str2 = str.toUpperCase(); // str2 = "ASDF"
```
8. Замена символов в строке
1) **public String replace(char oldChar, char newChar)** // Заменяет все вхождения символа `oldChar` на символ `newChar` в текущей строке и возвращает новую строку.
2) **public String replaceFirst(String regex, String replacement)** // Заменяет первое вхождение подстроки, соответствующей регулярному выражению `regex`, на строку `replacement` и возвращает новую строку.
3) **public String replaceAll(String regex, String replacement)** // Заменяет все вхождения подстрок, соответствующих регулярному выражению `regex`, на строку `replacement` и возвращает новую строку.```java
1 String str = "asdzxcasd";
2 String str1 = str.replace('a', 'g'); // str1 = "gsdzxcgsd"
3 String str2 = str.replace("asd", "fgh"); // str2 = "fghzxcfgh"
4 String str3 = str.replaceFirst("asd", "fgh"); // str3 = "fghzxcasd"
5 String str4 = str.replaceAll("asd", "fgh"); // str4 = "fghzxcfgh"
```
9. Другие методы класса String
1) **String trim()** // Удаляет пробелы с начала и конца строки, но не удаляет пробелы внутри строки.
```java
1 String str = " a sd ";
2 String str1 = str.trim();
3 int a = str.length(); // a = 6
4 int b = str1.length(); // b = 4
```
2) **boolean startsWith(String prefix)** или **boolean endsWith(String suffix)** // Проверяет, начинается ли текущая строка с подстроки prefix или заканчивается ли она подстрокой suffix, и возвращает булево значение.
```java
1 String str = "asdfgh";
2 boolean a = str.startsWith("as"); // a = true
3 boolean b = str.endsWith("gh"); // b = true
```
3) **regionMatches(boolean b, int firstStart, String other, int otherStart, int length)** // Сравнивает подстроку длиной length, начиная с позиции firstStart в текущей строке, с подстрокой длиной length, начиная с позиции otherStart в строке other. При b=true сравнение выполняется без учета регистра.
4) **boolean contains(String str)** // Проверяет, содержится ли строка str в текущей строке, и возвращает булево значение.
```java
1 String str = "student";
2 str.contains("stu"); // true
3 str.contains("ok"); // false
```
5) **String[] split(String regex)** // Разделяет текущую строку на подстроки по регулярному выражению regex и возвращает массив этих подстрок.
```java
1 String str = "asd!qwe|zxc#";
2 String[] str1 = str.split("!|\\|"); // str1[0] = "asd"; str1[1] = "qwe"; str1[2] = "zxc";
```
**V. Преобразование строк в базовые типы данных и наоборот**1. Преобразование строк в базовые типы данных
В пакете `java.lang` есть методы классов `Byte`, `Short`, `Integer`, `Float`, `Double`:
1) **public static byte parseByte(String s)**
2) **public static short parseShort(String s)**
3) **public static int parseInt(String s)**
4) **public static long parseLong(String s)**
5) **public static float parseFloat(String s)**
6) **public static double parseDouble(String s)**
Примеры:
```
1 int n = Integer.parseInt("12");
2 float f = Float.parseFloat("12.34");
3 double d = Double.parseDouble("1.124");
```
2. Преобразование базовых типов данных в строки
Класс `String` предоставляет метод `valueOf()` для преобразования базовых типов данных в строки.
1) **static String valueOf(char[] data)**
2) **static String valueOf(char[] data, int offset, int count)**
3) **static String valueOf(boolean b)**
4) **static String valueOf(char c)**
5) **static String valueOf(int i)**
6) **static String valueOf(long l)**
7) **static String valueOf(float f)**
8) **static String valueOf(double d)**
Примеры:
```
1 String s1 = String.valueOf(12);
2 String s2 = String.valueOf(12.34);
```
3. Преобразование систем счисления
Используйте методы класса `Long` для получения различных преобразований систем счисления целых чисел:
`Long.toBinaryString(long l)`
`Long.toOctalString(long l)`
`Long.toHexString(long l)`
`Long.toString(long l, int p)` // p - произвольная система счисления
## 2. Часто используемые методы класса Character в Java
Использование методов класса `Character` (в скобках указаны данные типа `char`):Задача Метод Возвращаемое значение
**Проверка является ли символ буквой** .isLetter('a') Boolean
Проверка является ли символ цифрой .isDigit('3') Boolean
Проверка является ли символ буквой или цифрой .isLetterOrDigit('s') Boolean
Проверка является ли символ пробелом .isWhitespace('\t', '\n', ' ') Boolean
Проверка является ли символ заглавной буквой .isUpperCase('A') Boolean
Проверка является ли символ строчной буквой .isLowerCase('a') Boolean
Проверка является ли символ пробелом .isWhitespace() Boolean
Приведение к заглавной букве .toUpperCase('a') Возвращает символ (если не латинская буква, то возвращает исходный символ)
Приведение к строчной букве .toLowerCase('A') Возвращает символ (если не латинская буква, то возвращает исходный символ)
Получение числового значения символа .getNumericValue('a') Возвращает числовое значение символа (например, 'a' равно 10, 'z' равно 35)
Получение хэш-кода символа .hashCode('a') Возвращает хэш-код символа (аналогично Unicode кодировке)
Приведение к строке .toString('a') Возвращает строковое представление символа
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )