泛型通配符?的使用

简介: package cn.itcast.day16.generic; import java.util.ArrayList; import java.util.Collection; /* * 泛型高级(通配符) * ?: * ? extends E:向下限定 ?代表E及其子...
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{
}
开始做,坚持做,重复做
相关文章
|
消息中间件 Kafka 流计算
Flink读取Kafka报Error sending fetch request
实时计算Flink读取消息队列Kafka,flink日志中出现Error sending fetch request (sessionId=1510763375, epoch=12890978) to node 103: {}. org.apache.flink.kafka.shaded.org.apache.kafka.common.errors.DisconnectException: null
12887 3
Flink读取Kafka报Error sending fetch request
|
PHP 容器
03 PHP语言基础知识
路老师的PHP教程系列,带你深入学习PHP语言。从常量、变量、操作符到表达式和函数,全面覆盖基础知识,助你快速入门并掌握核心技术。每天坚持学习,轻松成为PHP高手!
158 2
|
设计模式
大厂求职者必看!如何用简单工厂模式征服面试官?
大厂求职者必看!如何用简单工厂模式征服面试官?
129 0
|
SQL Java 关系型数据库
数据库版本管理工具 Flyway 简单使用
如何快速上手使用数据版本管理工具 Flyway
628 0
数据库版本管理工具 Flyway 简单使用
|
Go
Golang运算符
Golang运算符
183 0
Golang运算符
|
数据采集 分布式计算 监控
阿里数据仓库实践分享
数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
16135 1
|
Java
Java反射之Method对象详解
使用Java反射,可以在运行时检查一个方法的信息以及在运行期调用这个方法,通过使用java.lang.reflect.Method类就可以实现上述功能。
568 0