StringBuilder stringBuilder = new StringBuilder("polodik");
stringBuilder.setLength(50);
System.out.println(stringBuilder.capacity());
stringBuilder.trimToSize();
System.out.println(stringBuilder.capacity());
System.out.println(stringBuilder);
результат в консоли:
50
50
polodik
про метод trimToSize()
Attempts to reduce storage used for the character sequence. If the buffer is larger than necessary to hold its current sequence of characters, then it may be resized to become more space efficient. Calling this method may, but is not required to, affect the value returned by a subsequent call to the {@link #capacity()} method.
И так вопрос: Что делает и как правильно использовать метод trimToSize, чтобы увидеть хоть какое то влияние на результат в консоле?
метод trimToSize() класса StringBuilder и StringBuffer уменьшает размер символьного буфера до минимального допустимого значения
Правда у вас задан размер строки setLength(50), по этому вы и не видите разницы
Вот так посмотрите:
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder("polodik");
System.out.println(stringBuilder.capacity());
stringBuilder.trimToSize();
System.out.println(stringBuilder.capacity());
stringBuilder.setLength(50);
System.out.println(stringBuilder.capacity());
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости