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

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)
         */
    }
}
蓝山帝景
浏览 589回答 1
1回答

神不在的星期二

? super Child:参数类型必须是Child或者Child的父类,但Child父类无法确定,所以不能add 只能add Child或者Child的子类,因为Child的子类肯定也属于Child型的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java