ArrayList的add方法,参数是object类型?
老师,既然ArrayList的add方法,参数是object类型,那是否意味着,我可以在noticeList.add(notice3);这条语句的后面,添加一条noticeList.add("我是一条任意的字符串"); 即添加一个字符串类型的数据。因为字符串也是object的子类啊。但是这样的话,整个noticeList里面的数据类型就不一致了,这是怎么回事?
3
收起
正在回答
2回答
同学你好,
1、这样定义后,我们在进行集合中遍历获取元素时,会出现报错信息的,所以在集合中,这样使用是不正确的~也就是说在进行添加元素时,可以添加Object所有子类类型,但是在获取时就会因为类型转换异常而出现报错信息,所以在进行集合使用时,不要添加多个类型。因为添加的类型不同所以获取集合内容时,无法强制转换。
2、因为String类型没有定义getTitle()方法,而其他对象需要获取getTitle()方法,所以for循环中无法统一处理,也就无法得到这个字符串信息。
例如如下代码:
输出信息:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星