Классы 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( ) | Порядок следования символов в буфере меняется на противоположный. | 
