关于Java中的集合与泛型(Head First Java 这本书后面的习题)

云中尘 发布于 2016/10/07 12:50
阅读 709
收藏 0

ArrayList<Dog> dogs1 = new ArrayList<Animal>();

ArrayList<Animal> animals1 = new ArrayList<Dog>();

List<Animal> list = new ArrayList<Animal>();

ArrayList<Dog> dogs = new ArrayList<Dog>();

ArrayList<Animal> animals = dogs;

List<Dog> dogList = dogs;

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

List<Object> objList = objects;

ArrayList<Object> objs = new ArrayList<Dog>();

书上的答案是 3, 4, 6, 7, 8 无法编译。

有高手可以给个评判依据么?

或者书上的答案有误?

……

理解错了,是 3, 4, 6, 7, 8 可以编译,其它的几条不行。

这一题我做对了。

加载中
0
求是科技
求是科技

1和2很明显不对,装的类型都不一致。

5也不对,同样装的类型不对。

这种类型的题考起来没有意思,工作中不会犯这种错误,编译器会有提示的。

https://my.oschina.net/u/2312022/blog/748813

云中尘
云中尘
谢谢你的回答,确实如此,我把答案看反了,所以才会迷惑。做这个题目的时候,书上要求用猜测的方式来做,而且要猜的有道理,看看自己的猜想是否正确。 书上是特地用这种练习来表明集合的多态是可行的,而泛型的多态是不可行的,然后引出泛型中的万用字符。
返回顶部
顶部