【JavaSE】类型通配符

类型通配符<?>

package com.atlin.generic;

import java.util.ArrayList;
import java.util.List;

/**
 * program@: day15_CollSet
 * description@:
 * 类型通配符:<?>
 *         List<?>:表示元素类型未知的List,它的元素可以匹配任何的类型
 *         这种带通配符的List仅表示它是各种泛型List的父类,并不能把元素添加到其中
 *
 *     类型通配符上限:<? extends 类型>
 *         List<? extends Number>:它表示的类型是Number或者其子类型
 *
 *     类型通配符下限:<? super 类型>
 *         List<? super Number>:它表示的类型是Number或者其父类型
 * create@: 2020-10-12 12:08* @author: lin's
 */

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

        //类型通配符的上限<? extends 类型>
//        List<? extends Number> list5 = new ArrayList<Object>();//上限是Number
        List<?extends Number> list6 = new ArrayList<Integer>();

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



    }
}

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值