import java.util.*;public class BasicContainer {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("hello");
c.add(new Integer(100));
System.out.println(c);
}}
输出结果:[hello, 100]
我想问一下,打印时调用c.toString()方法,容器有重写到toString()方法吗?API里我找不到,,怎么输出会有中括号[]?
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("hello");
c.add(new Integer(100));
System.out.println(c);
}}
输出结果:[hello, 100]
我想问一下,打印时调用c.toString()方法,容器有重写到toString()方法吗?API里我找不到,,怎么输出会有中括号[]?
你是用
ArrayList来实例化的,
所以toString()方法是在ArrayList类内重写的,api不一定把这些也写出来。
“[,]”ArrayList是在重载toString()时自己加的,就是让人看了更明白有几个元素而以,没有什么特殊意义。
这些其实在API里可以找到的了。
不是直接数组对象的toString方法,而是把List对象的元素循环组合成的字符串,
这个不用看源码都能想到,
我觉得只要知道是哪个对象的toString就行了,为什么是这样的格式没必要在意,如果你真想用这个方法做什么判断,那就重载一下。
所有Collection本来就有它自己的toString()!!