Учебники

Java — класс строк

Строки, которые широко используются в Java-программировании, представляют собой последовательность символов. В языке программирования Java строки рассматриваются как объекты.

Платформа Java предоставляет класс String для создания и управления строками.

Создание строк

Самый прямой способ создать строку — написать

String greeting = "Hello world!";

Всякий раз, когда он встречает строковый литерал в вашем коде, компилятор создает объект String со значением в этом случае «Hello world!».

Как и с любым другим объектом, вы можете создавать объекты String, используя ключевое слово new и конструктор. Класс String имеет 11 конструкторов, которые позволяют указывать начальное значение строки с использованием различных источников, таких как массив символов.

пример

Live Demo

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.

Примечание. Класс String является неизменным, поэтому после его создания объект String нельзя изменить. Если необходимо внести много изменений в строки символов, вам следует использовать классы String Buffer и String Builder .

Длина строки

Методы, используемые для получения информации об объекте, называются методами доступа . Одним из методов доступа, который вы можете использовать со строками, является метод length (), который возвращает количество символов, содержащихся в строковом объекте.

Следующая программа является примером length () , метод класса String.

пример

Live Demo

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!"

Давайте посмотрим на следующий пример —

пример

Live Demo

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 —

Возвращает символ по указанному индексу.

Сравнивает эту строку с другим объектом.

Сравнивает две строки лексикографически.

Сравнивает две строки лексикографически, игнорируя различия в регистре.

Объединяет указанную строку до конца этой строки.

Возвращает true тогда и только тогда, когда эта String представляет ту же последовательность символов, что и указанный StringBuffer.

Возвращает строку, представляющую последовательность символов в указанном массиве.

Возвращает строку, представляющую последовательность символов в указанном массиве.

Проверяет, заканчивается ли эта строка указанным суффиксом.

Сравнивает эту строку с указанным объектом.

Сравнивает эту строку с другой строкой, игнорируя соображения регистра.

Кодирует эту строку в последовательность байтов, используя кодировку платформы по умолчанию, сохраняя результат в новом байтовом массиве.

Кодирует эту строку в последовательность байтов, используя именованную кодировку, сохраняя результат в новом байтовом массиве.

Копирует символы из этой строки в массив символов назначения.

Возвращает хеш-код для этой строки.

Возвращает индекс в этой строке первого вхождения указанного символа.

Возвращает индекс в этой строке первого вхождения указанного символа, начиная поиск по указанному индексу.

Возвращает индекс в этой строке первого вхождения указанной подстроки.

Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса.

Возвращает каноническое представление для строкового объекта.

Возвращает индекс в этой строке последнего вхождения указанного символа.

Возвращает индекс в этой строке последнего вхождения указанного символа с поиском в обратном направлении, начиная с указанного индекса.

Возвращает индекс в этой строке самого правого вхождения указанной подстроки.

Возвращает индекс в этой строке последнего вхождения указанной подстроки с обратным поиском, начиная с указанного индекса.

Возвращает длину этой строки.

Сообщает, соответствует ли эта строка заданному регулярному выражению.

Проверяет, равны ли две строковые области.

Проверяет, равны ли две строковые области.

Возвращает новую строку, полученную в результате замены всех вхождений oldChar в этой строке на newChar.

Заменяет каждую подстроку этой строки, которая соответствует данному регулярному выражению с данной заменой.

Заменяет первую подстроку этой строки, которая соответствует заданному регулярному выражению с заданной заменой.

Разбивает эту строку вокруг совпадений заданного регулярного выражения.

Разбивает эту строку вокруг совпадений заданного регулярного выражения.

Проверяет, начинается ли эта строка с указанного префикса.

Проверяет, начинается ли эта строка с указанного префикса, начиная с указанного индекса.

Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности.

Возвращает новую строку, которая является подстрокой этой строки.

Возвращает новую строку, которая является подстрокой этой строки.

Преобразует эту строку в новый массив символов.

Преобразует все символы в этой строке в нижний регистр, используя правила локали по умолчанию.

Преобразует все символы в этой строке в нижний регистр, используя правила данной локали.

Этот объект (который уже является строкой!) Сам по себе возвращается.

Преобразует все символы в этой строке в верхний регистр, используя правила локали по умолчанию.

Преобразует все символы в этой строке в верхний регистр, используя правила данной локали.

Возвращает копию строки, пропуская начальные и конечные пробелы.

Возвращает строковое представление переданного аргумента типа данных.