• 泛型通配符?的使用


    package cn.itcast.day16.generic;
    
    import java.util.ArrayList;
    import java.util.Collection;
    /*
     * 泛型高级(通配符)
     * ?:
     * ? extends E:向下限定 ?代表E及其子类
     * ? super E:向上限定  ?代表E及其父类
     */
    public class GenericDemo {
        public static void main(String[] args) {
            //泛型如果明确写的时候,前后必须一致
            Collection<Object> c=new ArrayList<Object>();
            Collection<Animal> c1=new ArrayList<Animal>();
    //        Collection<Animal> c2=new ArrayList<Dog>();
    //        Collection<Animal> c3=new ArrayList<Cat>();
            
            //? extends E:向下限定 ?代表E及其子类
    //        Collection <? extends Animal> c4=new ArrayList<Object>();
            Collection <? extends Animal> c5 = new ArrayList<Animal>();
            Collection<? extends Animal> c6 = new ArrayList<Dog>();
            Collection<? extends Animal> c7 =new ArrayList<Cat>();
            
            
            // ? super E:向上限定  ?代表E及其父类
            Collection<? super Animal> c8=new ArrayList<Object>();
            Collection<? super Animal> c9=new ArrayList<Animal>();
    //        Collection<? super Animal> c10=new ArrayList<Dog>();
    //        Collection<? super Animal> c11=new ArrayList<Cat>();
            
            
        }
    
    }
    
    class Animal{
        
    }
    class Dog extends Animal{
    }
    class Cat extends Animal{
    }
  • 相关阅读:
    Linux的目录结构
    python爬虫系列序
    Ant批量处理jmeter脚本
    SoapUI测试webservice接口
    Jmeter分布式部署
    基础知识回顾:闭包
    Jmeter简单应用
    postman安装与使用
    python2.7编码与解码
    Markdown及MarkdownPad使用规则
  • 原文地址:https://www.cnblogs.com/qq-757617012/p/4283170.html
Copyright © 2020-2023  润新知