Управление строками, функции для работы со строками в Java. Часть 1
Продолжаем изучение строк в Java. Основы работы со строками можно посмотреть в уроке «Строки в Java».
![Управление строками, функции для работы со строками в Java. Часть 2 - 1]()
Следующая программа использует метод
Программа выведет
Например, следующий код:
Класс
Некоторые операции (например, Функции
Основные функции
Вы можете использовать любой метод класса
Программа выведет:
Вывод:

Методы для сравнения строк
КлассString содержит методы для сравнения строк и частей строк. Следующая таблица описывает эти методы:
Следующая программа использует метод regionMatches для нахождения строк в другой строке:
Программа выведет Eggs.
Программа пробегает по строке символ за символом, для каждого символа программа вызывает метод regionMatches, передавая ему позицию символа, для поиска строки findMe.
Класс StringBuilder
Объекты типаStringBuilder отличаются от объектов типа String тем, что они могут быть изменены. По сути они представляют из себя массивы переменной длины, содержащие последовательность символов. Длина и содержание последовательности могут быть изменены вызовом соответствующих методов.
StringBuilder необходимо использовать в случаях, когда это поможет упростить код (пример ниже) или если это необходимо для лучшей производительности. Если вам необходимо объединить большое количество строк, использование StringBuilder будет более эффективным.
Length и Capacity
КлассStringBuilder как и класс String, имеет метод length(), который возвращает длину последовательности символов объекта.
В отличие от строк, в StringBuilder, помимо длины есть capacity — количество символов под которое выделена память. Емкость (capacity), возвращаемая методом capacity(), всегда больше или равна длине строки (обычно больше) и автоматически будет увеличина при необходимости.
Например, следующий код:
StringBuilder sb = new StringBuilder();
sb.append("Greetings");
создаст string builder длиной 9 символов и емкостью 16:
Класс StringBuilder содержит несколько методов относящихся к длине и емкости, которых нет в классе String:
Некоторые операции (например, append(), insert(), или setLength()) могут увеличить длину последовательности символов в stringbuilder’е , так что длина может оказаться больше текущей емкости. Когда это происходит — емкость автоматически увеличивается.
Функции StringBuilder
Основные функции StringBuilder, которых нет в String: append() и insert(), которые перегружены для приема разного типа данных. Каждый конвертирует аргумент в строку и добавляет её в строку stringbuilder’а. Метод append всегда добавляет символы в конец существующей последовательности, тогда как метод insert добавляет символы в указанное место.
Некоторые методы класса StringBuilder.
Вы можете использовать любой метод класса String на объекте класса StringBuilder предварительно сконвертировав его в строку методом toString(). Затем из строки можно опять сделать stringbuilder, используя конструктор: StringBuilder(String str).
Пример
ПрограммаStringDemo, которую мы рассматривали в предыдущих уроках Java — пример того, когда использование StringBuilderвместо String делает программу проще.
StringDemo переворачивает палиндром:
Программа выведет:
doT saw I was toD
Для того чтобы перевернуть сроку программа сначала конвертирует строку в массив символов (первый цикл), далее переворачивает массив и обратно конвертирует массив в строку.
Если вы конвертируете строку palindrome в stringbuilder, вы сможете использовать метод reverse() класса StringBuilder. Код станет чище и проще читаемым:
Вывод:
doT saw I was toD
Обратите внимание, что в функцию println() мы передаем StringBuilder:
System.out.println(sb);
Метод sb.toString() будет неявно вызван, как и у любого другого объекта, переданного в println().
Ссылка на первоисточник: Управление строками, функции для работы со строками в Java. Часть 2
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ