Java泛型

泛型

什么是泛型

Java 泛型(Generics) 是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。

编译器可以在编译阶段对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如 ArrayList<Persion> persons = new ArrayList<Persion>() 这行代码就指明了该 ArrayList 对象只能传入 Persion 对象,如果传入其他类型的对象就会报错。

并且,原生 List 返回类型是 Object ,需要手动转换类型才能使用,使用泛型后编译器自动转换。

泛型的使用方式有几种?

一般有三种使用方式:

  1. 泛型类:

    //此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型
    //在实例化泛型类时,必须指定T的具体类型
    public class Generic<T>{
    
        private T key;
    
        public Generic(T key) {
            this.key = key;
        }
    
        public T getKey(){
            return key;
        }
    }
    
    
    实例化泛型类:
    
    
    Generic<Integer> genericInteger = new Generic<Integer>(123456);
    
    
  2. 泛型接口

    public interface Dao<T> { // 与泛型类相似,在类名后面添加<T>,参数类型
    
     void add(T t);
    
     T get(int index);}
    
    
    
  3. 泛型方法

    public <T> void f(T x) { // 泛型方法
         System.out.println(x.getClass().getName());
     }
    

项目中哪些地方用到了泛型

  1. 自定义接口通用返回结果CommonResult 通过参数 T 可根据具体的返回类型动态指定结果的数据类型
  2. 构建集合工具类(如List等)
posted @ 2023-03-07 16:39  destiny-2015  阅读(39)  评论(0)    收藏  举报