tags | title |
---|---|
Java, Basic, String, StringBuilder, StringBuffer |
StringBuilder and StringBuffer |
- Реализуют интерфейс CharSequence.
- У них не переопределённы методы equals, это стоит учитывать.
- Внутри состоят из массива символов, размером на 16 больше чем строка (при создании)
- Синхронизирован
- При создании резервирует дополнительно 16 символов
- При увеличении строки увеличивает буфер в 2 раза и добавляет 2
StringBuffer()
- резервирует массив под 16 символовStringBuffer(length)
- буфер явно задаётсяStringBuffer(string)
- резервирует string.length() + 16StringBuffer(charSequence)
- аналогично
length()
- длина реальной строкиcapacity()
- размер буфераensureCapacity(min_buffer_size)
- указывается минимальный размер буфера (меньше он не станет)setLength(length)
- устанавливает длину самой строки (если меньше существующей, то символы отбросятся, если больше то вставятся пустые символы)charAt(index)
setCharAt(index, char)
getChars(начало_источника, конец источника(не включая), адресат[], начало адресата)
append()
insert(index, string)
- при вставке расширяет строкуreverse()
delete(from, to)
deleteCharAt(index)
replace(startIndex, endIndex, string)
substring()
- Не синхронизирован
- С 5 джавы
- Всё остальное точно также