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() 方法
尝试减少用于字符序列的存储空间。如果缓冲区大于保存其当前字符序列所需的大小,则可以调整其大小以提高空间效率。调用此方法可能(但不是必须)影响后续调用 {@link #capacity()} 方法返回的值。
所以问题是:它做了什么以及如何正确使用 trimToSize 方法,以便至少看到对控制台结果的一些影响?
trimToSize()StringBuilder 和 StringBuffer 类方法将字符缓冲区的大小减小到允许的最小值没错,您设置了线条大小
setLength(50),因此您看不到差异看起来像这样: