Работа со строками. Класс String
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Экземпляры этого класса можно создавать без ключевого слова new, посредством задания литералов (например, «Привет») либо при использовании операторов + или += для сцепления содержимого двух объектов String с образованием новой строки. Каждый строковый литерал порождает экземпляр String. Значение любого типа может быть приведено к строке. Значение объекта класса String не может быть изменено без порождения нового объекта. Класс String реализует операции для строки в целом.

Наполнение класса String

Строковое представление
valueOf ( type ) – метод для преобразования в строку соответствующего типа.
copyValueOf ( char [] data )преобразует в String массив значений char.

Преобразование типов
getBytes () – возвращает массив байтов текущей строки, преобразованных в соответствии с кодировкой символов и региональным стандартом, принятыми по умолчанию.
getChars ( int srcBegin , int srcEnd , char [] dst , int dstBegin ) – копирует символы из фрагмента текущей строки, заданного значениями начальной srcBegin и конечной srcEnd позиций, в указанный массив dst значений char, начиная с элемента dst[dstBegin]. Элемент исходной строки с индексом, равным srcEnd, не копируется.
toCharArray () – преобразует строку в массив типа char.

Сравнение
compareTo ( String str ) – возвращает значение типа int, меньшее нуля, равное нулю или большее нуля, если соответственно строка, представляемая текущим объектом, меньше строки, переданной в качестве параметра метода, равна ей или больше нее.
compareToIgnoreCase ( String str ) – выполняет сравнение без учета регистра символов
equals ( Object o ) – возвращает true, если переданный аргумент типа String ссылается на строку с таким же набором символов, который хранится и в текущей строке, т.е. обе строки обладают одинаковой длиной и в точности теми же символами Unicode, расположенными в одинаковом порядке. Если аргумент относится к типу, отличному от String, либо обладает другим содержимым, String.equals возвращает false.
equalsIgnoreCase ( String str ) – служит для сопоставления строк при условии пренебрежения регистром символов.
intern ()возвращает новую строку с тем же содержимым, что и в текущем объекте String.

Выделение элементов
charAt ( int index ) – возвращает значение типа char, отвечающее символу строки, который расположен на указанной позиции.

Операции над всей строкой
concat ( String str ) – возвращает новую строку, которая служит результатом сцепления (конкатенации) двух строк.
replace ( char oldchar , char newchar )возвращает новый объект String, в котором все экземпляры символа oldchar заменены символами newchar.
toLowerCase () – возвращает новый объект String, в котором каждый символ заменен аналогом в нижнем регистре (если таковой предусмотрен в региональном стандарте, применяемом по умолчанию)
toUpperCase ()– возвращает новый объект String, в котором каждый символ заменен аналогом в верхнем регистре (если таковой предусмотрен в региональном стандарте, применяемом по умолчанию)
trim ()возвращает новый объект String, в котором удалены все начальные и конечные символы пробелов.

Проверка содержимого строки
endsWith ( String suffix ) – возвращает true, если текущая строка завершается последовательностью символов suffix.
indexOf ( char ch ) – возвращает значение позиции первого экземпляра символа ch
lastIndexOf ( char ch ) - возвращает значение позиции последнего экземпляра символа ch
length () – возвращает целочисленное значение, равное количеству символов в стороке.
regionMatches ( int start , String other , int ostart , int count ) – возвращает true, если каждый символ заданного фрагмента текущей строки совпадает с соответствующим символом фрагмента строки, переданной посредством ссылки other. Анализу подвергаются часть текущей строки, начиная с символа на позиции start, и фрагмент строки other, начиная с позиции ostart. Количество символов, участвующих в сравнении, задается значением count.
startsWith ( String prefix , int start ) – возвращает true, если в текущей строке, начиная с позиции start, расположена последовательность символов prefix.























Класс StringBuffer

Если бы класс String, представляющий объекты строк, не допускающих изменения, был единственным доступным средством, в процессе обработки строковых данных для хранения промежуточных результатов пришлось бы создавать новые объекты String. На самом деле компилятор действует более эффективно. В процессе вычисления промежуточных результатов он использует объект класса StringBuffer и создает объект класса String только когда это действительно необходимо.

StringBuffer реализует методы модификации строки без порождения нового объекта. Реализует операции с элементами строки по отдельности. Используется по умолчанию при конкатенации строк. Для хранения строк использует буфер переменного объема.

Класс StringBuffer во многом подобен классу String, он поддерживает ряд одноименных методов с теми же контрактами. Но StringBuffer не является производным от String и обратное утверждение также неверно. Эти классы совершенно независимы – они оба наследуют класс Object.

Дата: 2019-02-19, просмотров: 192.