• JAVA ---泛型的扩展


    一、类型通配符

    为了表示各种泛型 List 的父类,可以使用类型通配符:

    • 类型通配符:
    • List:表示元素类型未知的 List ,它的元素可以匹配任何的类型;
    • 这种带通配符的 List 仅表示它是各种泛型 List 的父类,并不能添加元素;

    如果说我们不希望 List 是任何泛型的父类,只希望它代表某一泛型 List 的父类,可以使用类型通配符的上限:

    • 类型通配符上限:
    • List:它表示的类型是 Number 或者其子类型;

    除了可以指定类型通配符的上限,我们也可以指定类型通配符的下限:

    • 类型通配符:
    • List:它表示的类型是 Number 或者其父类型;

    二、可变参数

    1.1 基本用法

    可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了;

    • 格式:修饰符 返回值类型 方法名(数据类型…变量名){ }
    • 范例:public static int sum(int…a){ }

    注意事项:

    • 这里的变量其实是一个数组;
    • 如果一个方法有多个参数,包含可变参数,可变参数要放在最后;

    1.2 扩展

    Arrays 工具类中有一个静态方法:

    • public static List asList(T…a):返回由指定数组支持的固定大小的列表;
    • 返回的集合不能做增删操做,可以做修改操作;

    List 接口中有一个静态方法:

    • public static List of(E…elements):返回包含任意数量元素的不可变列表;
    • 返回的集合不能做增删改操作;

    Set 接口中有一个静态方法:

    • public static Set of(E…elements):返回一个包含任意数量元素的不可变集合;
    • 再给元素的时候,不能给重复的元素;
    • 返回的集合不能做增删改操作,没有修改的方法;
  • 相关阅读:
    【结构型模式】适配器模式
    2. 信息系统的项目管理基础
    【Web】Flask|Jinja2 SSTI
    我们来谈谈什么是架构
    二叉树—堆(C语言实现)
    .NET混合开发解决方案13 自定义WebView2中的上下文菜单
    threejs窗口变化重新自适应加载
    最全自学黑客技术学习路线~这也泰酷辣
    pytorch_神经网络构建4
    每日一题9.17打家劫舍2
  • 原文地址:https://blog.csdn.net/jc15274630894/article/details/126134755