РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
246 of 1163 menu

Метод capacity

Метод capacity возвращает текущую ёмкость буфера объекта StringBuilder. Ёмкость - это количество символов, которое может вместить буфер без перераспределения памяти. Метод не принимает параметров и возвращает значение типа int. Ёмкость всегда больше или равна длине строки, которую хранит объект.

Синтаксис

sb.capacity()

Пример

Давайте создадим объект StringBuilder и посмотрим его начальную ёмкость:

public class Main { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); System.out.println(sb.capacity()); } }

Результат выполнения кода:

16

Пример

Если при создании объекта указать строку, ёмкость будет равна длине этой строки плюс 16:

public class Main { public static void main(String[] args) { StringBuilder sb = new StringBuilder("abcde"); System.out.println(sb.length()); System.out.println(sb.capacity()); } }

Результат выполнения кода:

5 21

Пример

Давайте добавим символы в буфер и посмотрим, как изменится ёмкость при превышении начального размера:

public class Main { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); System.out.println(sb.capacity()); sb.append("12345"); sb.append("12345"); sb.append("12345"); sb.append("12345"); System.out.println(sb.length()); System.out.println(sb.capacity()); } }

Результат выполнения кода:

16 20 34

Как видно из примера, при переполнении буфера Java автоматически увеличивает ёмкость по формуле (старая ёмкость * 2) + 2.

Пример

Давайте создадим объект с явно заданной начальной ёмкостью через конструктор:

public class Main { public static void main(String[] args) { StringBuilder sb = new StringBuilder(50); System.out.println(sb.capacity()); System.out.println(sb.length()); } }

Результат выполнения кода:

50 0

Смотрите также

  • метод ensureCapacity,
    который задаёт минимальную ёмкость буфера
  • метод length,
    который возвращает длину строки
  • метод setLength,
    который устанавливает длину строки
  • класс StringBuilder,
    который представляет изменяемую строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить