黑马程序员技术交流社区
标题:
关于泛型的问题
[打印本页]
作者:
kellyzyb
时间:
2013-11-14 17:45
标题:
关于泛型的问题
public void inspect(List<Object> list) {
for (Object obj : list) {
System.out.println(obj);
}
list.add(1);
}
public void test() {
List<String> strs = new ArrayList<String>();
inspect(strs); //编译错误
}
复制代码
为什么会出错呢 inspect方法中定义的泛型是Object啊,所有类型都能接收吧。
作者:
寻丶丶觅
时间:
2013-11-14 19:21
泛型的区别List<Object>与List<String>是定义两种类型, 一个接收Object类型,一个接收String类型
List<Object>已经把泛型确定了,可以定义成List<?> 用占位符?
作者:
dolphin
时间:
2013-11-14 22:49
老师讲过,泛型里面没有继承这一说,你把他这句话没记住啊,这样写明显是错误的,这个参数类型不存在继承!
作者:
起猿
时间:
2013-11-15 00:34
public void inspect(List<Object> list) {
for (Object obj : list) {
System.out.println(obj);
}
list.add(1);
}
public void test() {
List<String> strs = new ArrayList<String>();
inspect(strs); //编译错误
}
复制代码
需要明确的是,你的想法是对的,但是这里你已经把类型给确定了。如果你传入的是一个Integer 类型怎么办,所以可以把<Object>改为<?>
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2