美文网首页
java泛型方法

java泛型方法

作者: arkliu | 来源:发表于2022-11-01 08:19 被阅读0次
  • 泛型类,是在实例化类的时候指明泛型类型
  • 泛型方法是在调用方法的时候指明泛型的具体类型
  • 只有声明了<T>的方法才是泛型方法。泛型类中使用了泛型的成员方法并不是泛型方法

泛型方法语法

修饰符 <T,E,K....>返回值类型  方法名(形参列表) {
    方法体..
}
public <T> T getSum(T a, T b) {
    return a+b;
}

\color{red}{泛型方法的类型,即使和泛型类声明相同,也可以有不同类型},看下面栗子:

public class ProductGet <T>{
    private T product; //奖品
    Random random = new Random();
    List<T>list = new ArrayList<>(); // 奖品池
    // 该方法不是泛型方法
    public T addPro(T t) {
      return t;
    }
    //该方法是泛型方法
    public <T> T getPro(ArrayList<T> arr) {
        return arr.get(random.nextInt(arr.size()));
    }
    
    public static void main(String[] args) {
          //泛型类指定为String
        ProductGet<String> strProGet = new ProductGet<>();
          //泛型方法指定为Integer
        ArrayList<Integer>intlist = new ArrayList<>();
        intlist.add(300);
        intlist.add(400);
        intlist.add(500);
        int intPro = strProGet.getPro(intlist);
        System.out.println("获得了:"+intPro);
    }
}

泛型方法可变参数,和多个泛型参数

public class ProductGet <T>{
    private T product; //奖品
    
    // 可变参数泛型方法
    public static <T> void printT(T ... params) {
        for (int i = 0; i < params.length; i++) {
            System.out.println(params[i]);
        }
    }
    // 多个泛型类型的泛型方法
    public static <T,E,K> void printType(T t, E e, K k) {
        System.out.println("t:"+t.getClass()+"  e:"+e.getClass()+"  k:"+k.getClass());
    }
}


ProductGet.printT("hello", "world", "你好", "世界");
ProductGet.printT(22, 33,44,55);

ProductGet.printType(11, 22.5, "hello");

相关文章

  • Java泛型

    参考:Java知识点总结(Java泛型) 自定义泛型类 自定义泛型接口 非泛型类中定义泛型方法 继承泛型类 通配符...

  • Android 学习(一):Java 泛型

    Java泛型学习 1.0 泛型常用案例 2.0 泛型方法 3.0 泛型类 4.0 通配符 ? 通配符,占位符,标识...

  • java 泛型解析

    Java 泛型 1、泛型的精髓是什么 2、泛型方法如何使用 概述: 泛型在java中具有重要地位,在面向对象编程模...

  • [转载] java泛型(二)、泛型的内部原理:类型擦除以及类型擦

    参考:java核心技术 一、Java泛型的实现方法:类型擦除 前面已经说了,Java的泛型是伪泛型。为什么说Jav...

  • Java泛型(黑马程序员武汉中心)

    Java泛型 一、概述 1、泛型含义 2、泛型好处 3、泛型分类 二、常见的泛型案例 1、泛型方法 A.定义时 B...

  • Java泛型教程

    Java泛型教程导航 Java 泛型概述 Java泛型环境设置 Java泛型通用类 Java泛型类型参数命名约定 ...

  • Java 泛型

    导读 移动开发知识体系总章(Java基础、Android、Flutter) 为什么会有泛型? 泛型类 泛型方法 泛...

  • Java泛型:类型擦除

    前情回顾 Java泛型:泛型类、泛型接口和泛型方法 类型擦除 代码片段一 显然在平时使用中,ArrayList (...

  • 泛型,复习

    Java泛型详解:和Class的使用。泛型类,泛型方法的详细使用实例 - LZJWXJ树袋熊 - CSDN博客

  • 泛型

    java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一Java泛型深入理解加泛型面试数组的协变性与范型的不可变性

网友评论

      本文标题:java泛型方法

      本文链接:https://www.haomeiwen.com/subject/idkltdtx.html