Строковые объекты неизменны. Каждый раз, когда вы используете один из методов в классе системы. Накладные расходы системы, связанные с созданием нового строкового объекта, могут быть очень дорогими в ситуациях, когда на строке необходимы повторные модификации. Если вы хотите изменить строку без создания нового объекта, вы можете использовать класс System.Text.StringBuilder. Например, использование класса StringBuilder может повысить производительность при объединении многих строк в цикле.
Инициализация переменной с помощью перегруженного метода конструктора может быть создан новый экземпляр класса StringBuilder, как объяснено в следующем примере.
StringBuilder MyStingBuilder = new StringBuilder («Привет, мир!»);
(I) Установить емкость и длину
Хотя объект StringBuilder - это динамический объект, который позволяет количество символов в строке, которую он инкапсулирует, вы можете указать значение для максимального количества символов, которые он может удерживать. Это значение называется емкостью объекта и не следует путать с длиной строки, которую содержит текущий объект StringBuilder. Например, вы можете создать новый экземпляр класса StringBuilder со строкой «Привет» (длина 5), при этом указать, что максимальная емкость объекта составляет 25. Когда модифицируется StringBuilder, он не перераспределяет пространство для себя, пока не будет достигнута емкость. Когда будет достигнута емкость, новое пространство будет автоматически распределено, а емкость будет удвоена. Вы можете использовать один из перегруженных конструкторов, чтобы указать емкость класса StringBuilder. В следующем примере кода указывается, что объект MyStringBuilder может быть расширен максимум до 25 пробелов.
StringBuilderMystringBuilder = new StringBuilder («Привет, мир!», 25);
Кроме того, максимальная длина объекта может быть установлена с помощью свойства емкости чтения/записи. В следующем примере кода используется свойство емкости для определения максимальной длины объекта.
MyStringBuilder.Capacity = 25;
(Ii) В следующем перечислены несколько общих методов такого типа:
(1) Метод добавления может использоваться для добавления строкового представления текста или объекта в конце строки, представленной текущим объектом StringBuilder. Следующий пример инициализирует объект StringBuilder для «Hello World», а затем добавляет немного текста к концу объекта. Пространство будет автоматически распределено по мере необходимости.
StringBuilderMyStringBuilder = new StringBuilder («Привет, мир!»); MyStringBuilder.Append («Какой прекрасный день»); Консоль.
Этот пример отображает Hello World! Какой день ужасного дня. к консоли.
(2) Метод AppendFormat добавляет текст к концу StringBuilder и реализует интерфейс iformattable, поэтому он может принять стандартные строки формата, описанные в разделе форматирования. Вы можете использовать этот метод для настройки формата переменной и добавления этих значений к задней части StringBuilder. В следующем примере используется метод AppendFormat для размещения целочисленного значения, установленного в формат значения валюты в конце StringBuilder.
int myInt = 25; StringBuilder MyStringBuilder = new StringBuilder («Ваша общая сумма»); MyStringBuilder.AppendFormat ("{0: c}", myint); console.writeline (myStringBuilder);В этом примере отображается общая сумма составляет 25,00 долл. США для консоли.
(3) Метод вставки добавляет строку или объект в указанную позицию в текущем stringBuilder. В следующем примере используется этот метод для вставки слова в шестую позицию StringBuilder.
StringBuilderMystringBuilder = new StringBuilder («Привет, мир!»); MyStringBuilder.insert (6, «Beautiful»); Console.WriteLine (MyStringBuilder);
В этом примере отображается Hello Beautifulworld! к консоли.
(4) Вы можете использовать метод удаления для удаления указанного количества символов из текущего StringBuilder, и процесс удаления начинается с указанного индекса, начиная с нуля. В следующем примере используется метод удаления, чтобы сократить stringBuilder.
StringBuilderMyStringBuilder = new StringBuilder («Привет, мир!»); MyStringBuilder.Remove (5,7); консоль.writeLine (MyStringBuilder);
Этот пример отображает привет консоли.
(5) Используя метод замены, вы можете заменить символы в объекте StringBuilder другим указанным символом. В следующем примере используется метод замены для поиска объектов StringBuilder, найти все восклицательные символы (!) И замените их символами вопроса (?).
StringBuilderMyStringBuilder = new StringBuilder («Привет, мир!»); MyStringBuilder.Replace ('!', '?Этот пример отображает Hello World? к консоли
getSqlmapClientTemplate (). QueryForList ((new StringBuilder ()). Append (entityClass.getName ()). Append (". Select"). ToString (), null);Класс Java StringBuilder
Если в программе частая потребность в дополнительных строках, ее не рекомендуется использовать + для объединения строк. Вы можете рассмотреть возможность использования класса Java.lang.stringbuilder. Объекты, сгенерированные с помощью этого класса, по умолчанию будут иметь длину 16 символов. Вы также можете указать начальную длину самостоятельно. Если прикрепленные символы превышают жидкую длину, объект StringBuilder автоматически увеличивает длину для размещения прикрепленных символов. Если необходимо часто прикреплять строки, использование класса StringBuilder может значительно повысить эффективность. Следующий код:
Код Java
открытый класс AppendStringTest {public static void main (string [] args) {string text = ""; long bomintime = System.currentTimeMillis (); для (int i = 0; i <10000; i ++) text = text+i; Long EndTime = System.CurrentTimeMillis (); System.out.println («Время выполнения:» +(EndTime-Begintime)); StringBuilder SB = new StringBuilder (""); begintime = System.currentTimeMillis (); для (int i = 0; i <10000; i ++) sb.append (string.valueof (i)); EndTime = System.CurrentTimeMillis (); System.out.println («Время выполнения:» +(EndTime-Begintime)); }} открытый класс AppendStringTest {public static void main (string [] args) {string text = ""; long bomintime = System.currentTimeMillis (); для (int i = 0; i <10000; i ++) text = text+i; Long EndTime = System.CurrentTimeMillis (); System.out.println («Время выполнения:»+(EndTime-Begintime)); StringBuilder SB = new StringBuilder (""); begintime = System.currentTimeMillis (); для (int i = 0; i <10000; i ++) sb.append (string.valueof (i)); EndTime = System.CurrentTimeMillis (); System.out.println («Время выполнения:»+(EndTime-Begintime)); }}Этот код выводит:
Время исполнения: 3188
Время исполнения: 15
StringBuilder - это новый класс, который был добавлен только в J2SE1.5.0. Если в предыдущей версии были использованы те же требования, будет использоваться java.util.stringbuffer. Фактически, StringBuilder предназначен для того, чтобы иметь тот же операционный интерфейс, что и StringBuffer. Использование StringBuilder в автономной неточной ситуации будет иметь лучшую эффективность, поскольку StringBuilder не решает проблемы синхронизации. StringBuffer будет решать проблемы синхронизации. Если StringBuilder будет работать в нескольких потоках, вам следует использовать stringbuffer, чтобы само по себе позволить объекту управлять задачами синхронизации.
Приведенный выше краткий анализ использования StringBuilder в Java - это весь контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.