Функция trimToSize

Функция trimToSize оптимизирует использование памяти объектом StringBuilder, уменьшая его емкость до длины текущей строки. Это полезно, когда после интенсивных операций с StringBuilder нужно освободить лишнюю память.

Синтаксис

kotlinfun trimToSize(): Unit

Пример

Создадим StringBuilder с начальной емкостью и проверим ее до и после вызова trimToSize:

kotlinval sb = StringBuilder(100)
sb.append("abcde")

println("Length: " + sb.length)
println("Capacity before: " + sb.capacity())

sb.trimToSize()

println("Capacity after: " + sb.capacity())

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

kotlinLength: 5
Capacity before: 100
Capacity after: 5

Пример

Продемонстрируем использование trimToSize после удаления части содержимого:

kotlinval sb = StringBuilder()
sb.append("1234567890")

sb.delete(5, 10)
println("Capacity before: " + sb.capacity())

sb.trimToSize()
println("Capacity after: " + sb.capacity())
println("Content: '" + sb.toString() + "'")

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

kotlinCapacity before: 34
Capacity after: 5
Content: '12345'

Пример

Покажем, что функция не изменяет содержимое StringBuilder, а только оптимизирует память:

kotlinval sb = StringBuilder(50)
sb.append("Hello")

val contentBefore = sb.toString()
sb.trimToSize()
val contentAfter = sb.toString()

println("Content same: " + (contentBefore == contentAfter))
println("Content: '" + contentAfter + "'")

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

kotlinContent same: true
Content: 'Hello'

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

  • функцию ensureCapacity,
    которая гарантирует минимальную емкость StringBuilder
  • свойство capacity,
    которое возвращает текущую емкость StringBuilder
  • свойство length,
    которое возвращает длину строки в StringBuilder
  • функцию setLength,
    которая устанавливает длину строки в StringBuilder