84
int length()
//
Методы
для
конструирования
содержимого
StringBuffer append(type arg)
//
тип
может
быть
примитивным
,
char[], String,
StringBuffer,
и
т
.
д
.
StringBuffer insert(int offset, arg)
//
Методы
для
манипуляции
содержимым
StringBuffer delete(int start, int end)
StringBuffer deleteCharAt(int index)
void setLength(int newSize)
void setCharAt(int index, char newChar)
StringBuffer replace(int start, int end, String s)
StringBuffer reverse()
//
Методы
для
выделения
целого
/
части
содержимого
char charAt(int index)
String substring(int start)
String substring(int start, int end)
String toString()
// Me
тоды
для
поиска
int indexOf(String searchKey)
int indexOf(String searchKey, int fromIndex)
int lastIndexOf(String searchKey)
int lastIndexOf(String searchKey, int fromIndex)
Обратите
внимание, что объект класса StringBuffer
является обычным
объектом в
прямом понимании этого слова. Вам
нужно будет использовать
конструктор для создания объектов типа класс StringBuffer (вместо
назначения в
строку буквальном). Кроме того, оператор '+' не применяется к объектам, в том числе
и к объектам StringBuffer . Вы должны будете использовать такой метод, как
append()
или insert()
чтобы манипулировать StringBuffer .
Чтобы создать строку из частей, более эффективно использовать класс
StringBuffer (для многопоточных программ) или StringBuilder (для однопоточных),
вместо конкатенации строк. Например,
//
Создадим
строку
типа
YYYY-MM-DD HH:MM:SS
85
int year = 2010, month = 10, day = 10;
int hour = 10, minute = 10, second = 10;
String dateStr = new StringBuilder().append(year).append("-
").append(month).append("").append(day).append("").append(ho
ur)
.apend(":").append(minute).append(":").append(second).toStri
ng();
System.out.println(dateStr);
// StringBuilder
более
эффективный
конкатенация
String
String anotherDataStr = year + "-" + month + "-" + day + " "
+ hour + ":" + minute + ":" + second;
System.out.println(anotherDataStr);
Компилятор
JDK ,
по
сути
,
использует
оба
класса
как
String,
так
и
StringBuffer
для
обработки
конкатенации
через
операцию
сложения
строк
'+'.
Для
примера
,
String msg = "a" + "b" + "c";
будут
скомпилированы
в
следующий
код
для
повышения
эффективности
:
String msg = new
StringBuffer().append("a").append("b").append("c").toString(
);
В
этом
процессе
создаются
,
промежуточный
объект
StringBuffer
и
возвращаемый
объект
String.
Достарыңызбен бөлісу: