Изменение регистра букв

Метод toLowerCase () возвращает новую строку, в которой все буквы переведены в нижний регистр, т. е. сделаны строчными.

Метод toUpperCase () возвращает новую строку, в которой все буквы переведены в верхний регистр, т. е. сделаны прописными.

Замена символа

Метод

replace (int old, int new)

возвращает новую строку, в которой все вхождения символа old заменены символом new. Если символа old в строке нет, то возвращается ссылка на исходную строку.

Регистр букв при замене учитывается.

Удаление пробелов в начале и конце строки

Метод

trim ()

 возвращает новую строку, в которой удалены начальные и конечные символы с кодами, не превышающими '\u0020 '.

Преобразование данных других типов в строку

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

Класс string содержит восемь статических методов

valueof (type elem)

преобразования в строку примитивных типов boolean, char, int, long, float, double, массива char[], и просто объекта типа object.

Метод

valueof(char[] ch, int offset, int len)

преобразует в строку подмассив массива ch, начинающийся с индекса offset и имеющий len элементов.

Кроме того, в каждом классе есть метод

tostring ()

Он преобразует объекты класса в строку.

Еще один простой способ — сцепить значение elem какого-либо типа с пустой строкой: "" + elem. При этом неявно вызывается метод elem. toString ().

 

Класс StringBuffer

Объекты класса StringBuffer — это строки переменной длины.

Как только буфер начинает переполняться, его емкость автоматически увеличивается, чтобы вместить новые символы.

В любое время емкость буфера можно увеличить, обратившись к методу ensureCapacity(int minCapacity)

Этот метод изменит емкость, только если minCapacity будет больше длины хранящейся в объекте строки. Емкость будет увеличена по следующему правилу. Пусть емкость буфера равна N. Тогда новая емкость будет равна

Мах(2 * N + 2, minCapacity)

Таким образом, емкость буфера нельзя увеличить менее чем вдвое.

Методом setLength (int newLength) можно установить любую длину строки.

Если она окажется больше текущей длины, то дополнительные символы будут равны ' \uOOOO'. Если она будет меньше текущей длины, то строка будет обрезана, последние символы потеряются, точнее, будут заменены символом '\uOOOO'. Емкость при этом не изменится.

Если число newLength окажется отрицательным, возникнет исключительная ситуация.

Количество символов в строке можно узнать, как и для объекта класса String, методом length (), а емкость — методом capacity ().

Создать объект класса stringBuf fer можно только конструкторами.

 

Конструкторы

В классе stringBuffer три конструктора:

stringBuffer () — создает пустой объект с емкостью 16 символов;

stringBuffer.(int capacity) — создает пустой объект заданной емкости capacity;

StringBuffer (String str) — создает объект емкостью str. length () + 16, содержащий строку str.

 

Добавление подстроки

В классе stringBuffer есть десять методов append (), добавляющих подстроку в конец строки. Они не создают новый экземпляр строки, а возвращают ссылку на ту же самую, но измененную строку.

Основной метод append (string str) присоединяет строку str в конец данной строки. Если ссылка str == null, то добавляется строка "null".

Шесть методов append (type elem) добавляют примитивные типы boolean, char, int, long, float, double, преобразованные в строку.

Два метода присоединяют к строке массив str и подмассив sub символов,

преобразованные в строку: append (char [] str) И append (char [.], sub, int offset, int len).

Десятый метод добавляет просто объект append (Object obj). Перед этим объект obj преобразуется в строку своим методом tostring ().

Вставка подстроки

Десять методов insert () предназначены для вставки строки, указанной параметром метода, в данную строку. Место вставки задается первым параметром метода ind. Это индекс элемента строки, перед которым будет сделана вставка. Он должен быть неотрицательным и меньше длины строки, иначе возникнет исключительная ситуация. Строка раздвигается, емкость буфера при необходимости увеличивается. Методы возвращают ссылку ни ту же преобразованную строку.

Основной метод insert (int ind, string str) вставляет строку str в данную строку перед ее символом с индексом and. Если ссылка s tr == null вставляется строка "null".

Например, после выполнения

String s = new StringBuffer("Это большая строка"). insert(4, "не").toString();

ПОЛУЧИМ s == "Это небольшая строка".

Метод sb.insert(sb.length о, "xxx") будет работать так же, как метод

sb.append("xxx").

Шесть методов insert (int ind, type elem) вставляют примитивные типы boolean, char, int, long, float, double, преобразованные в строку.

Два метода вставляют массив str и подмассив sub символов, преобразованные в строку:

i nsert(int ind, chart] str)

insert(int ind, char[] sub, int offset, int len)

Десятый метод вставляет просто объект:

insert(int ind, Object obj)

Объект obj перед добавлением преобразуется в строку своим методом

toString ().

 

Удаление подстроки

Метод delete (int begin, int end) удаляет из строки символы, начиная с индекса begin включительно до индекса end исключительно, если end больше длины строки, то до конца строки.

Например, после выполнения

String s = new StringBuffer("Это небольшая строка").

delete(4, 6).toString();

получим s == "Это большая строка".

Если begin отрицательно, больше длины строки или больше end, возникает исключительная ситуация.

Если begin == end, удаление не происходит.

Удаление удалить символа

Метод deieteCharAt (int ind) удаляет символ с указанным индексом ind. Длина строки уменьшается на единицу.

Если индекс ind отрицателен или больше длины строки, возникает исключительная ситуация.

Замена подстроки

Метод replace (int begin, int end. String str) удаляет символы из строки, начиная с индекса begin включительно до индекса end исключительно, если end больше длины строки, то до конца строки, и вставляет вместо них строку str.

Если begin отрицательно, больше длины строки или больше end, возникает исключительная ситуация.

Разворот строки

Метод reverse () меняет порядок расположения символов в строке на обратный порядок.

Например, после выполнения

String s = new StringBuffer("Это небольшая строка"),

reverse().toString();

получим s == "акортс яашьлобен отЭ".


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: