StringBuffer в Java: 11 популярных методов, которые должен знать каждый Java-разработчик

Опубликовано: 2021-05-26

Оглавление

Введение в StringBuffer в Java

StringBuffer в java — это класс, наследующий методы от класса java.lang.Object. Это одноранговый класс String, который используется для создания изменяемой или изменяемой строки. Он предоставляет большую часть функциональных возможностей String, за исключением того, что его можно изменить, т. е. он представляет доступные для записи и увеличения последовательности символов вместо неизменяемых последовательностей символов фиксированной длины. Вот несколько важных моментов о java.lang.StringBuffer в Java:

· Содержание и длину последовательности символов можно изменить с помощью различных вызовов методов.

· Он потокобезопасен, т. е. безопасен для использования несколькими потоками.

· Каждый StringBuffer в java имеет емкость.

· Подстроки и символы могут быть добавлены в конце или вставлены в середине. Он автоматически растет и освобождает место для дополнений. Часто предварительно выделяется больше символов, чем необходимо, чтобы оставить место для роста.

Вот как объявляется StringBuffer в классе Java:

общедоступный окончательный класс StringBuffer

расширяет объект

реализует Serializable, CharSequence

Конструкторы класса StringBuffer

1. StringBuffer() — используется для создания строкового буфера с начальной емкостью 16 символов и без символов в нем. Синтаксис:

StringBuffer a = новый StringBuffer();

2. StringBuffer (CharSequence seq) — используется для создания строкового буфера, содержащего те же символы, что и в CharSequence.

3. StringBuffer (целая емкость) — используется для создания строкового буфера с заданной начальной емкостью и без символов. Синтаксис:

StringBuffer a=новый StringBuffer(10);

4. StringBuffer (String str) — используется для создания строкового буфера с заданным строковым содержимым. Синтаксис:

StringBuffer a=new StringBuffer("строковый буфер в java");

Читайте: разница между буферами строк и построителями строк

11 популярных методов

1) StringBuffer в методе Java Append()

.append() используется для объединения данной строки и аргумента. Вот пример:

импортировать java.io.*;

буфер открытого класса {

public static void main (аргументы String [])

{

StringBuffer a = новый StringBuffer("stringbuffer");

a.append("в Java");

Система.out.println(a);

а. добавить (0);

Система.out.println(a);

}

}

Выход:

2) StringBuffer в методе Java Insert()

Метод .insert() используется для вставки заданной строки с основной строкой в ​​указанной позиции. Вот пример:

импортировать java.io.*;

буфер открытого класса {

public static void main (аргументы String [])

{

StringBuffer a = новый StringBuffer("stringbuffer");

a.insert(5, «для»);

Система.out.println(a);

а. вставить (0, 5);

Система.out.println(a);

а.insert(3, ложь);

Система.out.println(a);

а.insert(5, 41,55d);

Система.out.println(a);

а.insert(8, 41.55f);

Система.out.println(a);

char arr[] = { 'j', 'a', 'v', 'a' };

a.insert(2, обр);

Система.out.println(a);

} }

Выход:

Читайте также: Идеи и темы проектов Java

3) StringBuffer в методе java replace()

.replace() используется для замены части строки, указанной в диапазоне (beginIndex, endIndex). Вот пример:

импортировать java.io.*;

буфер открытого класса {

public static void main (аргументы String [])

{

StringBuffer a = новый StringBuffer("stringbuffer");

a.replace(5, 8, «являются»);

Система.out.println(a);

}

}

Выход:

4) StringBuffer в методе Java Delete()

.delete() используется для удаления строки, указанной в диапазоне (beginIndex, endIndex).

.deleteCharAt() используется для удаления символа по определенному индексу. Этот метод возвращает результирующий объект строкового буфера. Вот пример:

импортировать java.io.*;

буфер открытого класса {

public static void main (аргументы String [])

{

StringBuffer a = new StringBuffer («буфер строк в java»);

а.удалить(0, 6);

Система.out.println(a);

а.deleteCharAt(7);

Система.out.println(a);

}

}

Выход:

5) StringBuffer в методе Java Reverse()

.reverse(), как следует из названия, используется для реверсирования заданной строки. Вот пример:

импортировать java.io.*;

буфер открытого класса {

public static void main (аргументы String [])

{

StringBuffer a = новый StringBuffer("stringbuffer");

а.обратный();

Система.out.println(a);

}

}

Выход:

6) StringBuffer в методе Java Capacity()

.capacity() класса StringBuffer в классе java используется для возврата текущей емкости буфера. 16 — емкость по умолчанию. Емкость увеличивается за счет увеличения количества символов. Новая емкость = (старая емкость*2)+2. т.е. если текущая емкость равна 16, новая емкость будет 32+2=34.

.length используется для определения длины StringBuffer в java. Например:

импортировать java.io.*;

буфер открытого класса {

public static void main (аргументы String [])

{

StringBuffer a = новый StringBuffer("stringbuffer");

int p = a.length();

int q = a.capacity();

System.out.println("Длина строки =" + p);

System.out.println("Вместимость строки =" + q);

}

}

Выход:

Получите диплом инженера-программиста онлайн в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

7) StringBuffer в методе Java sureCapacity()

.ensureCapacity() класса stringbuffer используется для обеспечения того, чтобы указанная емкость была минимальной по сравнению с текущей емкостью. Если заданная емкость больше текущей емкости, новая емкость становится равной (oldcapacity*2)+2. т.е. емкость становится равной 34, если oldcapacity равна 16. Например:

буфер открытого класса {

public static void main (String args []) {

StringBuffer a=новый StringBuffer();

System.out.println(a.capacity());

a.append("Привет");

System.out.println(a.capacity());

a.append("Java");

System.out.println(a.capacity());

а.ensureCapacity(10);

System.out.println(a.capacity());

а.ensureCapacity(50);

System.out.println(a.capacity());

}

}

Выход:

Оформить заказ: Заработная плата Java-разработчика в Индии

8. charAt(int index) — этот метод используется для возврата символа по заданному индексу.

9. substring(int begIndex) — этот метод используется для возврата подстроки заданной строки, начиная с beginIndex.

10. substring(int beginIndex, int endIndex) — этот метод используется для возврата подстроки данной строки, начиная с beginIndex и заканчивая endIndex.

11. void trimToSize() — этот метод используется для уменьшения места для хранения последовательности символов.

Разница между String и StringBuffer в Java

Мы используем этот пример для создания объектов класса StringBuffer и String и их модификации. Мы видим, что объект StringBuffer изменяется, а String — нет. См. пример ниже:

буфер открытого класса {

public static void main (String args [])

{

Строка ул = «строка»;

str.concat («буфер»);

Система.out.println(строка);

StringBuffer strB = новый StringBuffer («строка»);

strB.append("буфер");

Система.out.println(strB);

}

}

Выход:

Объяснение: вывод такой, потому что строки неизменяемы. Если мы попытаемся объединить строковый объект, он не будет изменен. Однако StringBuffer в java создает изменяемые объекты. Таким образом, его можно изменить.

Интересные моменты

  1. Он расширяет класс Object.
  2. Реализованные интерфейсы StringBuffer в java: Appendable, Serializable и CharSequence.
  3. Методы StringBuffer можно синхронизировать везде, где это необходимо. Это означает, что все операции ведут себя так, как будто они происходят в некотором последовательном порядке.
  4. Когда происходит операция с исходной последовательностью, этот класс синхронизируется только с работающим строковым буфером, а не с источником.
  5. Некоторые из методов, унаследованных от класса объекта, — это equals, clone, getClass, notify, notifyAll, hashCode и finalize.

Заключение

StringBuffer в java создает изменяемые строковые объекты. Таким образом, мы можем использовать StringBuffer для добавления, замены, реверсирования, объединения и изменения последовательности символов или строк. Этим функциям соответствуют методы класса StringBuffer. Подводя итог, StringBuffer в java используется только тогда, когда несколько потоков изменяют содержимое StringBuffer. Это быстрее, чем String.

В этой статье мы узнали все подробности о Java StringBuffer . Если вы хотите узнать больше о Java и продвинуться в своей технической карьере, изучите курсы upGrad — крупнейшей онлайн-компании высшего образования в Индии.

Если вам интересно узнать больше о Java, разработке программного обеспечения с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B по разработке программного обеспечения — специализация в разработке полного стека, которая предназначена для работающих профессионалов и предлагает более 500 часов интенсивного обучения. , более 9 проектов и заданий, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Получите работу своей мечты

Подать заявку на получение сертификата upGrad PG в области разработки программного обеспечения