13.java-泛型

泛型

  • 定义类,接口,方法时,同时声明的一个或多个类型变量(如:),成为泛型类,泛型接口,泛型方法,它们统称为泛型。
  • JDK5引入,可以在编译阶段约束操作的数据类型,并进行检查

注意:泛型中只能编写引用数据类型

泛型的好处

  • 统一数据类型
  • 将运行期的错误提升到编译期

泛型方法

  • 非静态方法:跟着类的泛型去匹配
  • 静态方法:必须声明出自己独立的泛型(static关键字后面)
    • 在调用方法,接收实际参数的时候确定到具体类型

案例解析:

 public static void main(String[] args) {
        String[] str = {"aaa","bbbb","ccc"};
        Integer[] integers = {1,2,3,4};
        Double[] doubles = {1.1,1.2,1.3};
        printArr(str);
        printArr(integers);
        printArr(doubles);
    }
    public static<T> void printArr(T[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length-1; i++) {
            System.out.print(arr[i]+",");
        }
        System.out.println(arr[arr.length-1]+"]");
    }

泛型接口

  • 类实现接口的时候,如果接口带有泛型,有两种操作方式
    • 类实现接口的时候,直接确定类型
    • 延续接口的泛型,等创建对象的时候再确定

泛型通配符

​ ?:泛型通配符(能接收任意类型)

​ ? extends E :只能接收E或者E的子类

​ ? super E :只能接收E或者E的父类

你可能感兴趣的:(java,开发语言)