A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Wuyf 初级黑马   /  2019-10-16 14:06  /  960 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.ArrayList;

import java.util.List;

/*

    类型通配符:<?>

        List<?>:表示元素类型未知的List,它的元素可以匹配任何的类型

        这种带通配符的List仅表示它是各种泛型List的父类,并不能把元素添加到其中

    类型通配符上限:<? extends 类型>
        List<? extends Number>:它表示的类型是Number或者其子类型
   
    类型通配符下限:<? super 类型>
        List<? super Number>:它表示的类型是Number或者其父类型

*/

public class GenericDemo {

    public static void main(String[] args) {

        //类型通配符:<?>

        List<?> list1 = new ArrayList<Object>();

        List<?> list2 = new ArrayList<Number>();

        List<?> list3 = new ArrayList<Integer>();

        System.out.println("--------");

        //类型通配符上限:<? extends 类型>

//        List<? extends Number> list4 = new ArrayList<Object>();

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

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

        System.out.println("--------");

        //类型通配符下限:<? super 类型>
        List<? super Number> list7 = new ArrayList<Object>();
        List<? super Number> list8 = new ArrayList<Number>();

//        List<? super Number> list9 = new ArrayList<Integer>();

    }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马