Классы String и StringBuffer
В этом разделе представлен обзор методов для классов String и StringBuffer и вы, таким образом, сможете увидеть их взаимодействие. Здесь рассмотрены не все методы, а только наиболее важные, имеющие отношение к обсуждаемой теме. Перегруженным методам отведена отдельная колонка.
Сначала класс String:
Constructor | Перегруженные: значение по умолчанию, String, StringBuffer, массивы char, массивы byte. |
| Создает объекты String. | ||
length() | Количество символов в String. | ||||
charAt() | int индекс | Возвращает символ с указанным индексом ячейки String. | |||
getChars( ), getBytes( ) | Начальная и конечная ячейки, которые будут скопированы и ячейка в внешнего массива, в которую будет произведено копирование. | Копирует char или byte в внешний массив. | |||
toCharArray( ) | Создает массив char[], хранящий символы из String. | ||||
equals( ), equals-IgnoreCase( ) | String с которой проводится сравнение. | Проверка на равенство содержимого двух Strings. | |||
compareTo( ) | String с которой проводится сравнение. | Результат отрицательный, ноль или положительный, на основании лексиграфического упорядочения String и параметра. Заглавные и прописные символы не равны! | |||
regionMatches( ) | Смещение в текущей String, другой String и смещение и длина фрагмента для сравнения. Перегрузка добавляет "игнорировать регистр символов." | Результат boolean, свидетельствующий о совпадении фрагментов. | |||
startsWith( ) | String, который может начинать текущий String. Перегрузка добавляет параметр для указания смещения. | Результат boolean свидетельствует о том, начинается ли String с передаваемой в качестве параметра строки. | |||
endsWith( ) | String, который может завершать текущий String. | Результат boolean свидетельствует о том, завершается ли String передаваемой в качестве параметра строкой. | |||
indexOf( ), lastIndexOf( ) | Перегруженные: char, char и индекс начала, String, String и индекс начала. | Возвращает -1 если аргумент не найден в данном String, иначе возвращается индекс начала найденного фрагмента. lastIndexOf( ) осуществляет поиск начиная с конца строки. | |||
substring( ) | Перегруженный: Индекс начала, индекс начала, и индекс конца. | Возвращает новый объект String, содержащий указанный набор символов. | |||
concat( ) | String для объединения | Возвращает новый объект String, содерщащий символы оригинального объекта String и расположенные вслед за ними символы переданные в качестве параметра. | |||
replace( ) | Старый символ используемый для поиска, новый символ используемый для замены. | Возвращает новый объект String с результатами проведенной замены. Если искомый символ не найден, используется старый String. | |||
toLowerCase( ) toUpperCase( ) | Возвращает новый объект String с измененными на соответствующий регистр символами. Если изменения не требуется, используется старый String. | ||||
trim( ) | Возвращает новый объект String с сокращением с обоих концов пробелов до одинарных. Если изменения не требуются, используется старый String. | ||||
valueOf( ) | Перегрузка: Object, char[], char[] и смещение и указатель, boolean, char, int, long, float, double. | Возвращает String, содержащий символьное представление параметра. | |||
intern( ) | Создает один и только один String с уникальной последовательностью символов. |
Как вы видите, все методы String возвращают новый объект String в тех случаях, когда необходимо его содержимое. Также обратите внимание на то что если модификация не требуется, возвращается ссылка на оригинал String. Это позволяет сэкономить память и избавляет от лишних трудностей.
Теперь рассмотрим класс StringBuffer:
Constructor |
Перегруженный: значение по умолчанию, длина создаваемого буфера, String используемый в качестве источника. |
Создает новый объект StringBuffer. |
toString( ) |
Создает String используя текущий StringBuffer. |
|
length( ) |
Количество символов в StringBuffer. |
|
capacity( ) |
Возвращает текущий объем занимаемой памяти. |
|
ensure- Capacity( ) |
Integer определяющий желаемый объем памяти. |
StringBuffer резервирует как минимум указанный объем памяти. |
setLength( ) |
Integer определяющий новую длину строки символов в буфере. |
Расширяет ли укорачивает строку симоволов. Есл строка расширяется, новые ячейки заполняются нулями. |
charAt( ) |
Integer указывающий на позицию элемента. |
Возвращает char для заданной позиции буфера. |
setCharAt( ) |
Integer, указывающий на позицию элемента и новое значение char для этого элемента. |
Изменяет значение в указанной позиции. |
getChars( ) |
Начало и конец копируемого фрагмента, массив в который производится копирование, индекс в целевом массиве. |
Выполняет копирование символов char во внешний массив. В отличие от String здесь нет метода getBytes( ). |
append( ) |
Перегруженный: Object, String, char[], char[] со смещением и длиной, boolean, char, int, long, float, double. |
Параметр преобразуется в строку и добавляется в конец текущего буфера. При необходимости размер буфера увеличивается. |
insert( ) |
Перегруженный, для всех первым параметром является смещение с которым выполняется вставка: Object, String, char[], boolean, char, int, long, float, double. |
Второй параметр преобразуется в строку и вставляется в текущий буфер начиная с указанного смещения. При необходимости размер буфера увеличивается. |
reverse( ) |
Порядок следования символов в буфере меняется на противоположный. |