4Java.ru

Регистрация


Учебник для начинающих
Обзор языка
Установка и настройка
Синтаксис
Классы и объекты
Типы данных и литералы
Типы переменных
Модификаторы
Операторы
Циклы и операторы цикла
Цикл while
Цикл for
Улучшенный цикл for
Цикл do..while
Оператор break
Оператор continue
Операторы принятия решений
Оператор if
Оператор if..else
Вложенный оператор if
Оператор switch..case
Условный оператор (? :)
Числа
Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
Метод compareTo()
Метод equals()
Метод valueOf()
Метод toString()
Метод parseInt()
Метод Math.abs()
Метод Math.ceil()
Метод Math.floor()
Метод Math.rint()
Метод Math.round()
Метод Math.min()
Метод Math.max()
Метод Math.exp()
Метод Math.log()
Метод Math.pow()
Метод Math.sqrt()
Метод Math.sin()
Метод Math.cos()
Метод Math.tan()
Метод Math.asin()
Метод Math.acos()
Метод Math.atan()
Метод Math.atan2()
Метод Math.toDegrees()
Метод Math.toRadians()
Метод Math.random()
Символы
Метод Character.isLetter()
Метод Character.isDigit()
Метод Character.isWhitespace()
Метод Character.isUpperCase()
Метод Character.isLowerCase()
Метод Character.toUpperCase()
Метод Character.toLowerCase()
Метод Character.toString()
Строки
Метод charAt()
Метод compareTo()
Метод compareToIgnoreCase()
Метод concat()
Метод contentEquals()
Метод copyValueOf()
Метод endsWith()
Метод equals()
Метод equalsIgnoreCase()
Метод getBytes()
Метод getChars()
Метод hashCode()
Метод indexOf()
Метод intern()
Метод lastIndexOf()
Метод length()
Метод matches()
Метод regionMatches()
Метод replace()
Метод replaceAll()
Метод replaceFirst()
Метод split()
Метод startsWith()
Метод subSequence()
Метод substring()
Метод toCharArray()
Метод toLowerCase()
Метод toString()
Метод toUpperCase()
Метод trim()
Метод valueOf()
Классы StringBuilder и StringBuffer
Метод append()
Метод reverse()
Метод delete()
Метод insert()
Метод replace()
Массивы
Дата и время
Регулярные выражения
Методы
Потоки ввода/вывода, файлы и каталоги
Класс ByteArrayInputStream
Класс DataInputStream
Класс ByteArrayOutputStream
Класс DataOutputStream
Класс File
Класс FileReader
Класс FileWriter
Исключения
Встроенные исключения
Вложенные и внутренние классы
Наследование
Переопределение
Полиморфизм
Абстракция
Инкапсуляция
Интерфейсы
Пакеты
Структуры данных
Интерфейс Enumeration
Класс BitSet
Класс Vector
Класс Stack
Класс Dictionary
Класс Hashtable
Класс Properties
Интерфейс Map

Классы StringBuilder и StringBuffer

Классы StringBuffer и StringBuilder в Java используются, когда возникает необходимость сделать много изменений в строке символов.

В отличие от строк, объекты типа StringBuffer и StringBuilder могут быть изменены снова и снова, оставляя после себя множество новых неиспользуемых объектов.

В Java StringBuilder был введен начиная с Java 5. Основное различие между StringBuffer и StringBuilder является то, что методы StringBuilder не являются безопасными для потоков (несинхронизированные).

Рекомендуется использовать StringBuilder всякий раз, когда это возможно, потому что он быстрее, чем StringBuffer в Java. Однако, если необходима безопасность потоков, наилучшим вариантом являются объекты StringBuffer.

Пример

public class Test {

   public static void main(String args[]){
       StringBuffer sBuffer = new StringBuffer("тест");
       sBuffer.append(" StringBuffer");
       System.out.println(sBuffer);  
   }
}

Получим следующий результат:

тест StringBuffer

Методы StringBuffer

Список методов, поддерживаемых классом StringBuffer:

Описание
1 public StringBuffer append(String s)
Обновляет значение объекта, который вызывает метод. Этот метод принимает boolean, char, int, long, Strings и т.д.
2 public StringBuffer reverse()
Этот метод изменяет значение объекта StringBuffer, который вызывает метод.
3 public delete(int start, int end)
Удаляет строку, начиная с начального индекса до конечного индекса.
4 public insert(int offset, int i)
Этот метод вставляет строку s в позицию упомянутую по смещению.
5 replace(int start, int end, String str)
Этот метод заменяет символы в подстроке данного StringBuffer символами в указанной строке.

Список других методов (за исключением методов set), которые очень похожи на методы класса строк:

Описание
1 int capacity()
Возвращает текущую вместимость буфера String.
2 char charAt(int index)
Возвращается указанный символ последовательности, в настоящее время представленный буфером строки, указанный индексом аргумент.
3 void ensureCapacity(int minimumCapacity)
Гарантирует вместимость буфера, по крайней мере равным указанному минимуму.
4 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Символы копируются из этого буфера строки в символьный массив назначения dst.
5 int indexOf(String str)
Возвращает индекс в данной строке первого вхождения указанной подстроки.
6 int indexOf(String str, int fromIndex)
Возвращает индекс в данной строке первого вхождения указанной подстроки, начиная с указанного индекса.
7 int lastIndexOf(String str)
Возвращает индекс в данной строке последнего вхождения указанной подстроки.
8 int lastIndexOf(String str, int fromIndex)
Возвращает индекс в данной строке последнего вхождения указанной подстроки, начиная с указанного индекса.
9 int length()
Возвращает длину строкового буфера (количество символов).
10 void setCharAt(int index, char ch)
Символ с указанным индексом этого буфера строки имеет значение ch.
11 void setLength(int newLength)
Устанавливает длину буфера строки (Stringbuffer).
12 CharSequence subSequence(int start, int end)
Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности.
13 String substring(int start)
Возвращает новую строку, которая содержит подпоследовательность символов в данный момент содержащихся в StringBuffer. Подстрока начинается с указанного индекса и продолжается до конца StringBuffer.
14 String substring(int start, int end)
Возвращает новую строку, которая содержит подпоследовательность символов в данный момент содержащихся в этом StringBuffer.
15 String toString()
Преобразование в строку, представляющую данные в этой строке буфера.

© 4Java.ru