源码文件:AbstractCollectdion.java
方法:toString()
语句: sb.append(e == this ? "(this Collection)" : e);
说明:如果集合类型为Object,且集合中包含了集合本身,在遍历时可能会出现死循环;这个语句的意思是,如果取出来的原因是集合自身,则追加字符串“collection”,而不是追加集合对象本身,否则就没完没了的循环。
示例:
import java.util.*;
class ArrayToString
{
public static void main(String[] args){
ArrayList<Object> al = new ArrayList<>();
al.add("tets1");
al.add("test2");
al.add(al);
System.out.println(al.toString());
}
}
输出:
[tets1, test2, (this Collection)]