Класи StringBuilder та StringBuffer Java, Блог про шифрування

КласиStringBuilderтаStringBufferє “близнюками” і за своїм призначенням близькі до класуString, але, на відміну від останнього, вміст та розміри об'єктів класівStringBuilderіStringBufferможна змінювати.

Основною та єдиною відмінністюStringBuilderвідStringBufferє потокобезпека останнього. У версії 1.5.0 був доданий непотокобезпечний (отже, швидше в обробці) класStringBuilder, який слід застосовувати, якщо не існує ймовірності використання об'єкта в конкуруючих потоках.

За допомогою відповідних методів та конструкторів об'єкти класівStringBuffer,StringBuilderтаStringможна перетворювати один на одного. Конструктор класуStringBuffer(так само як іStringBuilder) може приймати як параметр об'єктStringабо невід'ємний розмір буфера. Об'єкти цього класу можна перетворити на об'єкт класуStringметодомtoString()або за допомогою конструктора класуString.

Слід звернути увагу на такі методи:

voidensureCapacity(intminimum)– встановлення гарантованого мінімального розміру буфера;

intcapacity()– повернення поточного розміру буфера;

StringBufferappend(параметри)– додавання до вмісту об'єкта строкового представлення аргументу, який може бути символом, значенням базового типу, масивом та рядком;

StringBufferinsert(параметри)– вставка символу, об'єкта або рядка у вказану позицію;

StringBufferdeleteCharAt(int index)- видалення символу;

StringBufferdelete(int start, int end)- видалення підрядка;

StringBufferreverse()– звернення вмісту об'єкта.

У класі є також методи, аналогічні методам класуString, такі якreplace(),substring(),charAt(),length(),getChars(),indexOf()та ін.

publicclassDemoStringBuffer

publicstaticvoidmain(String[] args)

StringBuffer sb =newStringBuffer();

// sb = "Java";// помилка, тільки для класу String