当前位置: 首页 > news >正文

泛型通配符?的使用

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{
}
开始做,坚持做,重复做

相关文章:

  • 通过JAVA反射修改JDK1.6*当中DNS缓存内容
  • 开发人员拒绝写技术博客的几个理由
  • 制作网线
  • 基于单决策树的AdaBoost
  • 【SICP练习】53 练习2.21
  • php 基础算法(用*表示金字塔)通过hash 比較两个数组同样的数
  • sass带来的变革
  • QlikView ETL - 分隔字符串的方法 SubField
  • 微软职位内部推荐-Senior Development Lead
  • WSS(Windows Storage Server)2008R2使用指南(二)安装篇
  • javascript——DOM之元素的宽高
  • 【原创】开源Math.NET基础数学类库使用(08)C#进行数值积分
  • SQL Server 2008 R2 安全性专题(一):安全原则
  • the linux command line学习笔记之四
  • PS常见错误-无法完成请求,因为文件格式模块不能解析该文件
  • 【EOS】Cleos基础
  • 【翻译】babel对TC39装饰器草案的实现
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • axios 和 cookie 的那些事
  • classpath对获取配置文件的影响
  • eclipse的离线汉化
  • Fabric架构演变之路
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • leetcode-27. Remove Element
  • PAT A1120
  • React系列之 Redux 架构模式
  • Spring Boot快速入门(一):Hello Spring Boot
  • Transformer-XL: Unleashing the Potential of Attention Models
  • use Google search engine
  • Vue全家桶实现一个Web App
  • 程序员最讨厌的9句话,你可有补充?
  • 工作手记之html2canvas使用概述
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前端
  • 前端之Sass/Scss实战笔记
  • 通过几道题目学习二叉搜索树
  • 我有几个粽子,和一个故事
  • 优秀架构师必须掌握的架构思维
  • 正则表达式小结
  • 《码出高效》学习笔记与书中错误记录
  • 从如何停掉 Promise 链说起
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (10)STL算法之搜索(二) 二分查找
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (Forward) Music Player: From UI Proposal to Code
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (原創) 物件導向與老子思想 (OO)
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)linux 命令大全
  • (转)socket Aio demo