我对DeepTostring的实际在做什么感到好奇,因此我去看了该方法。我的具体问题是,将20乘以阵列对象长度实际完成?
public static String deepToString(Object[] a) {
if (a == null)
return "null";
int bufLen = 20 * a.length;
if (a.length != 0 && bufLen <= 0)
bufLen = Integer.MAX_VALUE;
StringBuilder buf = new StringBuilder(bufLen);
deepToString(a, buf, new HashSet<Object[]>());
return buf.toString();
}
这是一个性能下注。它初始化了尺寸的字符串构造器,其大小很大的机会足以使所有内容加入所有内容,而无需调整缓冲区大小过多(或根本),并且不太大,以免浪费太多的内存。
>