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

类型通配符上限

主函数

package typeWildcardTop;

import java.util.ArrayList;

public class typeWildcardTopTest {


    /*

     */
    public static void main(String[] args) {
//        test1();
        test2();
    }
    /*
    测试showList接收ArrayList类型 ArrayList接收各种类型参数
    创建animals cats mincats集合 传入show输出
     */
    public static void test1(){
        ArrayList<Animals> animals = new ArrayList<>();
        ArrayList<Cats> cats = new ArrayList<>();
        ArrayList<minCats> minCats = new ArrayList<>();
        /*
        showList 接收ArrayList类型!!! ArrayList接收类型参数 最后形成接收各种类型的集合
         */
        showList(animals);
        showList(cats);
        showList(minCats);
    }

    /*
    what:
        输出ArrayList集合每一个元素
        ArrayList集合元素可能是任意类型
    params:
        首先他接受的ArrayList类型  ArrayList接收类型参数
        接收ArrayList类型!!! ArrayList接收类型参数 最后形成接收各种类型的集合
    careout:
        类型通配符列表 对象 无法填充元素 因为你不知道该对象元素是何种类型
     */
    public static void showList(ArrayList<?> list) {

        //类型通配符对象 无法填充元素
//        list.add(new Cats());
//        list.add(new Animals());
//        list.add(new minCats());
        for (int i = 0;i<list.size();i++) {
             System.out.println(list.get(i));
         }

    }
    /*
    what:
        测试 接收ArrayList类型对象  ArrayList设置接受类型上限为Cats
        最后 参数接收上限为Cats的列表对象
     */
    public static void test2(){
        ArrayList<Animals> animals = new ArrayList<>();
        ArrayList<Cats> cats = new ArrayList<>();
        ArrayList<minCats> minCats = new ArrayList<>();


//        showListTop(animals);  //失败 因为只能接收Cats以下的列表
        showListTop(cats);
        showListTop(minCats);
    }

    /*
    what:
        设置ArrayList 接收类型的上限 凡是上限以上无法接收类型
     */

    public static void showListTop(ArrayList<? extends Cats> list){
        for(int i = 0;i<list.size();i++)
        {
            System.out.println(list.get(i));
        }
    }
}

Animals 父类

package typeWildcardTop;

/*
what:
    父类 是一个类型!!!
 */
public class Animals {
}

子类Cats

package typeWildcardTop;

public class Cats extends Animals{
}

子类minCats

package typeWildcardTop;

public class minCats extends Cats{
}

相关文章:

  • 《pyqt+open3d》第三章——icp配准点对点
  • 交叉编译foxy版ros2部署到ARM上运行
  • Hive的动态分区的原理
  • web第三次作业
  • 初学 mybatis
  • 第J7周:对于ResNeXt-50算法的思考
  • SpringBoot的日志框架
  • 矩阵碰一碰发视频的源码技术开发,支持OEM
  • 华为云之CodeArts IDE的使用体验
  • Git 分布式版本控制
  • VSCode配合cline实现自动编程
  • 完善sql盲注中的其他函数 dnslog+sqlmap外带数据
  • minio在上传pdf文件时设置Content-Type: application/pdf有什么作用
  • 论面向服务的架构设计
  • Qt QSpinBox 总结
  • Large Language Model Distilling Medication Recommendation Model
  • 移动端测试的挑战与解决方案:兼容性、网络问题及实战策略
  • 如何通过产品版本管理提升软件开发效率?
  • 望远镜成像系统--科学评价光学镜头
  • 人工智能之数学基础:线性子空间
  • 下载网页图片/关键词优化价格表
  • 介绍做网站的标题/seo网络优化公司
  • 临沂网站开发公司电话/被代运营骗了去哪投诉
  • 用wordpress作下载站点/亚马逊站外推广网站
  • 个人网站多少钱/太原seo
  • 制作一个.net网站需要/网络广告策划流程有哪些?