• Java泛型方法与普通成员方法以及案例说明(五)


    在这里插入图片描述
    我们需要特别指出一下,前面的第二章节有一个抽检品案例中有这样一个方法:
    在这里插入图片描述
    这个方法中虽然有T泛型标识,但是它仅仅是一个普通的成员方法,方法返回类型是T,采用了泛型类的泛型类型。

    泛型方法的语法

    在这里插入图片描述

    泛型方法的案例

    泛型方法定义我们就写在第二章节里面的奖品泛型类中,

    泛型方法定义

    泛型方法中的泛型标识用E,为了区别下泛型类中的泛型标识
    在这里插入图片描述

    泛型方法调用

    在这里插入图片描述
    上面我们把泛型方法的泛型类型标识 与泛型类的泛型标识分别用E和T做了区分,倘若,我们把标识都改为T会怎么样呢?
    在这里插入图片描述
    在这里插入图片描述

    所以泛型方法的泛型类型 是独立于 泛型类的泛型的,即使泛型标识一样但是不会相互干扰

    泛型方法优点

    定义一个泛型方法,可以操作不同的数据类型
    在这里插入图片描述

    调用泛型类中的普通成员方法(与调用泛型方法做对比)

    在这里插入图片描述
    经过对比,在总结一句:调用普通成员方法,强制要求采用的泛型必须遵从类的泛型;但是泛型方法里的泛型,都是我们在调用时去独立指定的。

    语法补充

    在这里插入图片描述

    在这里插入图片描述
    解释下为什么泛型类中的,返回值为T的普通成员方法不能使用静态的?

    因为泛型类在创建对象时指定类型,而静态方法是通过类名直接调用,此时成员方法类型还未被指定,会报错。

    为什么泛型方法可以使用静态的?

    泛型方法在被调用时直接指定参数。

    对泛型列表进行扩展

    在这里插入图片描述
    在这里插入图片描述

    泛型方法与可变参数

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    泛型方法总结

    1、泛型方法能使方法独立于类而产生变化
    所以我们在工作中能够使用泛型方法就使用泛型方法,尽量不要再去定义泛型类,泛型方法更加灵活

    2、如果static方法要使用泛型能力,就必须使其成为泛型方法

  • 相关阅读:
    2023-10-06 LeetCode每日一题(买卖股票的最佳时机含手续费)
    数据库与缓存更新一致性四种策略
    Leetcode138_随机链表的复制
    七夕特制:《牛郎会织女》
    RHCSA --- Linux命令替换
    MySQL锁机制
    力扣第45天----第392题、第115题
    WinPcap4.1.3安装失败解决方法,A newer version of winpcap...
    单词相似性查询易语言代码
    登录系统的时候账号和密码加密传输
  • 原文地址:https://blog.csdn.net/qq_40229737/article/details/125456987