黑马程序员技术交流社区

标题: 关于集合中存储不用类型元素然后输出的问题 [打印本页]

作者: IceLoveInFire丶    时间: 2016-9-28 21:54
标题: 关于集合中存储不用类型元素然后输出的问题
String a1 = "a";
String a2 = "b";
String a3 = "c";
int a4 = 10;
List l = new ArrayList();
l.add(a1);
l.add(a2);
l.add(a3);
l.add(a4);
System.out.printn(l);
想问集合 l 的toString方法哪里来的?
为什么不报错反而会把10 加在数组后面呢?求权威解释
作者: Zzh94520    时间: 2016-9-28 22:09
................
作者: IceLoveInFire丶    时间: 2016-9-28 22:12
Zzh94520 发表于 2016-9-28 22:09
................

啥意思。。。
作者: markiyangliu    时间: 2016-9-28 22:12
I的toString方法来自AbstractCollection
不报错把10加在后面是因为集合里面默认保存的数据是Object类型,可以添加任意类型的元素,如果想只添加一种类型,可以使用泛型。例如ArrayList<String> list = new ArrayList<>();
作者: 小明教授    时间: 2016-9-28 22:15
object类啊!没泛型
作者: IceLoveInFire丶    时间: 2016-9-29 23:09
markiyangliu 发表于 2016-9-28 22:12
I的toString方法来自AbstractCollection
不报错把10加在后面是因为集合里面默认保存的数据是Object类型,可 ...

I 是接口 他的方法肯定不是来自AbstractCollection 肯定用的是它自己的方法或它父类的方法,但是Collection里面也没有toString




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2