黑马程序员技术交流社区
标题: 求助一个泛型的问题 [打印本页]
作者: Nick_KJ 时间: 2015-4-13 16:54
标题: 求助一个泛型的问题
ArrayList<? extends Object> al = new ArrayList<String>();
al.add("aa"); //错
//因为集合具体对象中既可存储String,也可以存储Object的其他子类,所以添加具体的类型对象不合适,类型检查会出现安全问题。 ?extends Object 代表Object的子类型不确定,怎么能添加具体类型的对象呢?
这是一个题的答案和解释,我没理解。有能理解的朋友吗?
作者: 谷歌 时间: 2015-4-13 18:58
把你集合中想要添加的元素类型替换掉<? extends Object>。个人认为泛型上下限之类的是在定义这个类时用,当你具体要用这个类,比如说new这个类的对象的时候,应该明确你的元素类型。如果你自己都不能明确往这个集合中传的是什么类型的元素,那么这个设计应该是有问题的。个人的理解,也许有偏差,还望大神指正。
作者: Nick_KJ 时间: 2015-4-13 20:42
已经解决了,谢谢你的回答。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |