类型通配符,上限和下限演示

public class GenericDemo {
    public static void main(String[] args) {
        //类型通配符:<?>
        List<?> list1 = new ArrayList<Object>();
        List<?> list2 = new ArrayList<Number>();
        List<?> list3 = new ArrayList<Integer>();

        //类型通配符上限:<? extends 类型>
        //    List<? extends Number> :它表示的类型是Number或者其子类型
//        List<? extends Number> list4 = new ArrayList<Object>(); //报错

        List<? extends Number> list5 = new ArrayList<Integer>();

        List<? extends Number> list6 = new ArrayList<Number>();
        
        //类型通配符下限:<? super 类型>
        // List<? super Number> : 他表示的类型是Number或者其父类
        List<? super Number> list7 = new ArrayList<Object>();
        List<? super Number> list8 = new ArrayList<Number>();
//        List<? super Number> list9 = new ArrayList<Integer>(); //报错
        
 
    }
}

 

posted @ 2020-04-09 17:25  硬盘红了  阅读(370)  评论(0编辑  收藏  举报