已有259人关注
求指教,ArrayList中的addAll方法添加子类ArrayList报错是为何?
发表在Java答疑区 2017-03-16
是否精华
版块置顶:

分享到:
精彩评论 10
18246196132
学分:49 LV2
2017-03-16
沙发

QQ截图20170316151112.png他的这个就是可以的。。。。。。。。。

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-03-16
板凳

根据API可知,addAll()方法的返回值类型是boolean类型,所以在eclipse中,“al1.addAll(al2);”的写法会引发编译错误。

18246196132
学分:49 LV2
2017-03-16
地板

David 发表于2017-03-16 15:34

根据API可知,addAll()方法的返回值类型是boolean类型,所以在eclipse中,“al1.addAll(al2);”的写法会引发编译错误。

那应该怎么书写呢?为何我发的后面的图就这这么写的就可以呢?◔ ‸◔?

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-03-16
4L

写法是“System.out.println(al1.addAll(al2));”,输出的结果要么是true,要么是false。

18246196132
学分:49 LV2
2017-03-16
5L

David 发表于2017-03-16 15:59

写法是“System.out.println(al1.addAll(al2));”,输出的结果要么是true,要么是false。

“System.out.println(al1.addAll(al2));”这么写也不对啊。我一楼发的图片写的就是al1.addAll(al2);他就可以便已通过还可以运行,

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-03-16
6L

对不起,我弄错了。1楼的图之所以没报错,是因为Student类和Worker类都是Person类的子类。例如,

ArrayList<Object> al1 = new ArrayList<>();

al1.add(1);

al1.add(2);

ArrayList<Double> al2 = new ArrayList<>();

al2.add(3.0);

al2.add(4.0);

al1.addAll(al2); // 此时不会报错,因为Double是Object的子类

第二种情况:

ArrayList<Double> al1 = new ArrayList<>();

al1.add(1.0);

al1.add(2.0);

ArrayList<Double> al2 = new ArrayList<>();

al2.add(3.0);

al2.add(4.0);

al1.addAll(al2); // 此时不会报错,两个集合的元素类型相同


18246196132
学分:49 LV2
2017-03-16
7L

David 发表于2017-03-16 16:22

对不起,我弄错了。1楼的图之所以没报错,是因为Student类和Worker类都是Person类的子类。例如,

ArrayList<Object> al1 = new ArrayList<>();

al1.add(1);

al1.add(2);

ArrayList<Double> al2 = new ArrayList<>();

al2.add(3.0);

al2.add(4.0);

al1.addAll(al2); // 此时不会报错,因为Double是Object的子类

第二种情况:

ArrayList<Double> al1 = new ArrayList<>();

al1.add(1.0);

al1.add(2.0);

ArrayList<Double> al2 = new ArrayList<>();

al2.add(3.0);

al2.add(4.0);

al1.addAll(al2); // 此时不会报错,两个集合的元素类型相同


我的student继承了person呀   老师。。。。

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-03-17
8L

我Person类是这么写的,程序并未报错。

luo123456123cheng
学分:1960 LV9
2017-03-22
9L

求指教,ArrayList中的addAll方法添加子类ArrayList报错是为何?

发表在Java答疑区 5天前



你这个情况很可能是没有及时保存

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2017-03-22
10L

luo123456123cheng 发表于2017-03-22 09:58

求指教,ArrayList中的addAll方法添加子类ArrayList报错是为何?

发表在Java答疑区 5天前



你这个情况很可能是没有及时保存

我未能还原你的这个问题,请提供一下这条红线显示的错误提示

首页上一页 1 下一页尾页 10 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照