5,909
社区成员




假设
StringBuilder sBuilder = new StringBuilder("hello"); sBuilder.setLength(2); System.out.println(sBuilder);
那么剩下的llo是被GC了还是?
setLength()底层源码是
count = newLength;
是不是可以理解为底层新建了一个char[] value数组长度为2 + 16 count = 2;
确实发错了,但是原理和Delphi的SetLength差不多,如果新串长度不超过已分配的空间,只修改内部长度计数,否则重新分配空间,复制,释放之前的空间。
发错了 这里是Delphi社区