为了账号安全,请及时绑定邮箱和手机立即绑定

为什么无法往下界通配符的容器中add父类?

为什么无法往下界通配符的容器中add父类?

蓝山帝景 2019-01-18 22:20:46
public class User { } public class Child extends User { } import java.util.LinkedList; public class Test { public static void main(String[] args) { LinkedList<? super Child> linkedList = new LinkedList<>(); linkedList.add(new Child()); linkedList.add(new User()); /** * 上面添加User报错 * The method add(capture#2-of ? super Child) in the type LinkedList<capture#2-of ? super Child> is not applicable for the arguments (User) */ } }
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

? super Child:参数类型必须是Child或者Child的父类,但Child父类无法确定,所以不能add

只能add Child或者Child的子类,因为Child的子类肯定也属于Child型的。

查看完整回答
反对 回复 2019-02-12
  • 1 回答
  • 0 关注
  • 588 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信