Arrays.toString() 使用的算法:
public static String toString(boolean[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}
而普通的字符串拼接是怎么写的呢?
public static String toString(String[] source) {
if (source == null) {
return "null";
}
if (source.length < 1) {
return "[]";
}
StringBuilder builder = new StringBuilder();
builder.append("[");
for (String s : source) {
builder.append(s).append(", ");
}
// 删除多余的空格和逗号
builder.deleteCharAt(builder.length() - 1);
builder.deleteCharAt(builder.length() - 1);
builder.append("]");
return builder.toString();
}
你品,你细品。
网友评论