System.out.println(list.toString());
对于List接口的toString方法,在 java.util.AbstractCollection 中重写了。下面是JDK8中的源码
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(' ');
}
}
可以看到,其实是遍历List中的实体,调用了 实体类的toString 方法。
所以只要重写实体类的 toString() 方法既可以打印List了
关于对象数组的打印问题,需要使用 Arrays.toString(list),并且重写实体的toString方法