В Java есть два вида строковых операций: класс String и класс StringBuffer (класс обработки буфера).
Давайте кратко поговорим о разнице между ними.
Как класс String, так и класс StringBuffer предоставляют соответствующие методы для реализации строковых операций, но эти два немного разные.
(1) Класс строки
Как только этот класс создает строку, его объект неизменен. Содержание и длина класса строки исправлены. Если программа необходимо получить информацию о строке, необходимо вызвать различные методы работы строки, предоставленные системой. Хотя операции могут применяться к строкам с помощью различных системных методов, это не меняет сам экземпляр объекта, но генерирует новый экземпляр. Система выделяет память для объектов класса строк, которые выделяются в соответствии с фактическим количеством символов, содержащихся в объекте.
(2) Класс StringBuffer
Я проверил словесный буфер, что означает буферизацию, и этот класс должен иметь функцию буферизации. Этот класс обрабатывает переменные строки. Если вы хотите изменить строку класса StringBuffer, вам не нужно создавать новый объект String, но напрямую управлять исходной строкой. Различные методы работы строки этого класса отличаются от того, что предоставляется класс строк. Когда система выделяет память для класса StringBuffer, в дополнение к пространству, занятому текущими символами, она также предоставляет дополнительный 16 -буфер символов. Каждый объект StringBuffer имеет определенную буферную емкость. Когда размер строки не превышает емкость, новая емкость не будет выделена. Когда размер строки превышает емкость, емкость будет автоматически увеличиваться.
Вот несколько конкретных примеров
Строковое соединение
Есть два метода для класса строки
Первый тип ("+")
открытый класс str {public static void main (string [] args) {string str1 = "Добавить спецэффекты!"; String str2 = "duang ~~"; System.out.println (str1+""+str2); }}Второй тип ("concat")
открытый класс str {public static void main (string [] args) {string str1 = "Добавить спецэффекты!"; String str2 = "duang ~~"; System.out.println (str1.concat (str2)); }}Методы класса StringBuffer
открытый класс str {public static void main (string [] args) {// Создание объекта, который буферирует строки SB stringBuffer SB = new StringBuffer («Добавить спецэффекты!»); // Используйте метод добавления, чтобы добавить новую строку sb.append ("duang ~~"); System.out.println (SB); }}Окончательные результаты выходных результатов: добавьте спецэффекты! Duang ~~
Из приведенного выше примера нетрудно увидеть, что когда класс строки расширен, ему необходимо экзамен на два объекта, каждый объект будет занимать определенное количество памяти. Класс StringBuffer не нуждается в экземпляре нового класса, ему нужно только вызвать расширенный метод.
Существует также точка, когда емкость памяти класса StringBuffer масштабируется. Давайте приведем конкретный пример:
открытый класс str {public static void main (string [] args) {// объявить строковый объект sb stringbuffer sb = new StringBuffer (40); System.out.println (sb.capacity ()); // емкость вывода строки емкость sb.ensurecapacity (100); // Расширение емкости System.out.println (sb.capacity ()); // емкость вывода строки}}Метод емкости () представляет количество строковых объектов, которые могут вместить строки в памяти. Если вы хотите расширить емкость памяти, вы можете использовать метод evureCapacity ().
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.