我没有覆盖toString()
所以我很困惑。不是ArrayList
像数组这样的对象,因为它们是使用new
创建的吗?
示例:
ArrayList <String> arri= new ArrayList();
String one="one";
String two=new String ("two");
arri.add(one);
arri.add(two);
System.out.println(arri);
//output:
//[one, two]
由于
答案 0 :(得分:4)
您不必覆盖toString()
...您正在调用它的对象。您在toString()
上呼叫ArrayList
,ArrayList
覆盖toString
...或者更确切地说,AbstractCollection
does和ArrayList
继承实施:
返回此集合的字符串表示形式。字符串表示由一个集合元素的列表组成,它们按迭代器返回的顺序排列,用方括号括起来(&#34; []&#34;)。相邻元素由字符&#34;,&#34;分隔。 (逗号和空格)。元素按
String.valueOf(Object)
转换为字符串。
答案 1 :(得分:3)
ArrayList
(与数组不同)会覆盖toString()
和String
覆盖toString()
,因此打印ArrayList<String>
会显示String
的所有List
e.preventDefault();
。