调用ArrayList.toString()方法返回的并不是本以为的一个拼接好的字符串,因此去找这个方法,发现在ArrayList中没有,在AbstractCollection中toString()方法被重写为:
public String toString() {
Iterator<E> it = iterator();
if (! it.hasNext())
return "[]";
StringBuilder sb = new StringBuilder();
sb.append('[');
for (;;) {
E e = it.next();
sb.append(e == this ? "(this Collection)" : e);
if (! it.hasNext())
return sb.append(']').toString();
sb.append(',').append(' ');
}
}
我们可以看出,ArrayList.toString()方法返回的是一个由"[]“和”, "拼接而成的字符串。因此,如果想将ArrayList输出为一个字符串,可使用:
StringBuilder sb = new StringBuilder();
for (StringBuilder s: list){
sb.append(s);
}
return sb.toString();
参考链接:
https://www.cnblogs.com/nwxayyf/p/10205554.html