Java基础_集合的toString()方法
2021-07-15 13:08
标签:lis 情况下 build out 循环 死循环 代码 uil public 1.代码: 2.问题:为什么直接输出的结果不是地址值呢? 那么我们就去查看一下ArrayList的toString()方法,但是我们没有在ArrayList里面找到相关的toString()方法,那么我们去其父类里面找 3.toString()方法源码 Java基础_集合的toString()方法 标签:lis 情况下 build out 循环 死循环 代码 uil public 原文地址:https://www.cnblogs.com/nwxayyf/p/9536533.html
集合对象中的toString()方法
public class Test {
public static void main(String[] args) {
Collection
c.add("hello");
c.add("world");
c.add("java");
System.out.println(c);
}
}
//输出结果:
[hello, world, java]
其实Collection
,我们发现是有的。
public String toString(){
//集合本身调用迭代器方法,得到迭代器集合
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(‘ ‘);
}
}
//有上面的代码,我们可见toString()方法的是指2就是属于字符串的拼接,然后再遍历的情况下获取数组调用toString()方法输出。
下一篇:算法篇:目录