5,930
社区成员
发帖
与我相关
我的任务
分享假设
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社区