首页 > 编程语言 >Java泛型方法

Java泛型方法

时间:2022-12-25 08:33:05浏览次数:59  
标签:Java String genericString 类型 泛型 Integer 方法

泛型方法

泛型方法,是在调用方法的时候指明泛型的具体类型,定义格式:

修饰符 <代表泛型的变量> 返回值类型 方法名(参数){ }

 

例如:

    /**
     *
     * @param t 传入泛型的参数
     * @param <T> 泛型的类型
     * @return T 返回值为T类型
     * 说明:
     *   1)public 与 返回值中间<T>非常重要,可以理解为声明此方法为泛型方法。
     *   2)只有声明了<T>的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。
     *   3)<T>表明该方法将使用泛型类型T,此时才可以在方法中使用泛型类型T。
     *   4)与泛型类的定义一样,此处T可以随便写为任意标识,常见的如T、E等形式的参数常用于表示泛型。
     */
    public <T> T genercMethod(T t){
        System.out.println(t.getClass());
        System.out.println(t);
        return t;
    }

 

调用方法时,确定泛型的类型
public static void main(String[] args) {
    GenericsClassDemo<String> genericString  = new GenericsClassDemo("helloGeneric"); //这里的泛型跟下面调用的泛型方法可以不一样。
    String str = genericString.genercMethod("hello");//传入的是String类型,返回的也是String类型
    Integer i = genericString.genercMethod(123);//传入的是Integer类型,返回的也是Integer类型
}

这里我们可以看下结果:
class java.lang.String

hello

class java.lang.Integer
123

 

这里可以看出,泛型方法随着我们的传入参数类型不同,他得到的类型也不同。泛型方法能使方法独立于类而产生变化。

很好的泛型详解:https://www.jb51.net/article/216499.htm

标签:Java,String,genericString,类型,泛型,Integer,方法
From: https://www.cnblogs.com/bigjor/p/17003666.html

相关文章

  • Java第08次实验(流与文件)实验报告--网络2112-37号
    第1次实验0.字节流与二进制文件使用DataOutputStream与FileOutputStream将Student对象写入二进制文件students.data二进制文件与文本文件的区别。使用wxMEdit或Visua......
  • Java编程思想6
    第十一章:持有对象如果一个程序只包含固定数量的且其生命周期都是已知的对象,那么这是一个非常简单的程序。​通常,程序总是根据运行时才知道的某些条件去创建新对象,在此之......
  • Java编程思想7
    第十二章:通过异常处理错误Java的基本理念是“结构不佳的代码不能运行”。​发现错误的理想时机是在编译阶段,也就是在你试图运行程序之前。然而,编译期间并不能找出所有的......
  • Java集合面试题(总结最全面的面试题)
    Java面试总结汇总,整理了包括Java重点知识,以及常用开源框架,欢迎大家阅读。文章可能有错误的地方,因为个人知识有限,欢迎各位大佬指出!文章持续更新中......ID标题地址......
  • 你确定懂了Java中的序列化机制吗
    持续创作,加速成长!这是我参与「掘金日新计划·10月更文挑战」的第4天,点击查看活动详情概述java中的序列化可能大家像我一样都停留在实现Serializable接口上,对于它里面......
  • django中间件需要了解的方法 importlib模块 django操作cookie django操作session
    目录django中间件三个需要了解的方法process_viewprocess_exceptionprocess_template_response基于django中间件实现功能的插拔式设计importlib模块方式1:基于函数封装方式2......
  • Javascript的函数、递归函数、作用域
      代码示例:<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><script>fu......
  • JavaScript
    认识编程语言计算机语言人与计算机之间通讯的语言,比编程语言更广泛,如HTML是标记语言,也是计算机语言,但不是编程语言编程语言用来定义计算机程序的形式语言,用来向计算机......
  • JavaScript实现点击 `播放列表` 隐藏下面的列表项
    实现思路:根据h2标签名获取元素对象,并获取索引是0的元素【页面中只有一个h2标签】给该元素绑定单击事件(onclick),并绑定函数在函数的外面定义一个变量flag,用来记录状态......
  • buctfN种方法解决和大白1
    下载文件后打开,是一个程序,运行不了,整了半天,最后不得不用上无敌的010打开,发现开头出现base64,然后就用Base64解码Base64编码UTF8GB2312UTF16GBK二进制十六进制解密......