Функция trimToSize
Функция trimToSize
оптимизирует использование памяти
объектом StringBuilder
, уменьшая его емкость
до длины текущей строки. Это полезно, когда после
интенсивных операций с StringBuilder
нужно
освободить лишнюю память.
Синтаксис
fun trimToSize(): Unit
Пример
Создадим StringBuilder
с начальной емкостью
и проверим ее до и после вызова trimToSize
:
val sb = StringBuilder(100)
sb.append("abcde")
println("Length: " + sb.length)
println("Capacity before: " + sb.capacity())
sb.trimToSize()
println("Capacity after: " + sb.capacity())
Результат выполнения кода:
Length: 5
Capacity before: 100
Capacity after: 5
Пример
Продемонстрируем использование trimToSize
после удаления части содержимого:
val 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() + "'")
Результат выполнения кода:
Capacity before: 34
Capacity after: 5
Content: '12345'
Пример
Покажем, что функция не изменяет содержимое
StringBuilder
, а только оптимизирует память:
val sb = StringBuilder(50)
sb.append("Hello")
val contentBefore = sb.toString()
sb.trimToSize()
val contentAfter = sb.toString()
println("Content same: " + (contentBefore == contentAfter))
println("Content: '" + contentAfter + "'")
Результат выполнения кода:
Content same: true
Content: 'Hello'
Смотрите также
-
функцию
ensureCapacity
,
которая гарантирует минимальную емкость StringBuilder -
свойство
capacity
,
которое возвращает текущую емкость StringBuilder -
свойство
length
,
которое возвращает длину строки в StringBuilder -
функцию
setLength
,
которая устанавливает длину строки в StringBuilder