黑马程序员技术交流社区

标题: 可以把List<String>传递给一个接收List<Object>参数的方法吗?为什么? [打印本页]

作者: 一笑為紅顏    时间: 2015-10-30 23:57
标题: 可以把List<String>传递给一个接收List<Object>参数的方法吗?为什么?
大神在哪里??
作者: 260744042    时间: 2015-10-31 14:03
Eclipse说不行!你这是不合法的!
作者: maxwell247    时间: 2015-10-31 18:02
这个是不行的. 这样不属于多态. 泛型从某种程度上来说违反了多态的原理, 但是 泛型使用了 泛型上下限实现了多态的补偿.
作者: 大自然的搬运工    时间: 2015-10-31 18:29
泛型是确定元素的类型,所以,一旦确定不能传入其他类型。
作者: War3cdota    时间: 2015-11-2 10:19
  List<String> list1 = new ArrayList<>();
  List<Object> list2 = new ArrayList<>();
  list2 = list1;//error
  
  List<String> list3 = new ArrayList<>();
  List<? extends Object> list4 = new ArrayList<>();
  list4 = list3;//ok
按照你这个问题,要使用<? extends Object>的方式。list4可以接受所有继承Object类的类型。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2