2-9案例红色字体

本例题中使用setTitle()就可以了?是因为修改notic4会修改集合中的值,是因为他们都指向同一空间吗?
集合不是会自己定义一块连续的空间来存放吗,对象notice跟集合list不是一块地址吧?
红色字体没搞明白?
23
收起
正在回答
1回答
同学你好,
本例题中确实是只用 setTitle()就可以了,后面那句 noticeList.set(1,notice4)是不需要的;
因为集合中存放的notice4是一个对象引用,它一直指向存放notice4内容的真正地址,所以当 notice4的title内容更改后,集合不需要做出任何改变。
集合和对象的地址空间不在同一块。
红色字体提示的意思是,在本例题中,有两种方法实现题目要求的效果:1)更改notice4的内容,调用setTitle()改变title的内容,而notice4在集合中已经存在了,后面的set略显多余;2)还可以创建一个新的Notice对象,比如 notice5,此时我们就需要将原来存放在集合中的 notice4换掉,用 noticeList.set(1,notice5);将原来1位置的notice4替换为notice5;
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~~~~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星