美文网首页
Java_泛型

Java_泛型

作者: 老北瓜 | 来源:发表于2020-04-07 11:17 被阅读0次

是一种未知的数据类型,当我们不知道使用数据类型的时候,可以使用泛型,泛型可以看成是一个变量,用来接收数据类型
泛型可以用在 类 class 上 ,也可以用在 方法上

// 定义 泛型类  格式   class<泛型>
class Test<E>{
        
      //定义泛型方法 格式       <泛型>    返回值类型   方法名(泛型类型  变量名){}
    public  <M>  void test(M m){
    
    }
}

泛型通配符

?:代表任意的数据类型
使用方式:
      不能创建对象使用
      只能作为方法的参数使用

通配符的高级使用 -- 受限泛型
上限: ? extends E 传入的参数只能是E的子类及E本身
下限: ? super E 传入的参数只能是E本身以及E的父类

父类获取子类传递的泛型

ParameterizedType type = (ParameterizedType) getClass().getGenericSuperclass();
        Type[] types = type.getActualTypeArguments();
        if (types.length > 0) {
            Class clazz = (Class) types[0];
            System.out.println("type[0] = " + clazz.getSimpleName());

            Class aClass = ((Class) types[0]).asSubclass(Foo.class);
            System.out.println("subClass = " + aClass.getSimpleName());
        }

ParameterizedType是Type的子接口,表示一个有参数的类型

相关文章

  • java_泛型

    类型擦除正确理解泛型概念的首要前提是理解类型擦除(type erasure)。 Java中的泛型基本上都是在编译器...

  • java_泛型

    泛型:jdk1.5新特性 为什么要用泛型(解决元素存储安全,解决获取元素需要进行强制转换,代码复用动态指定数据类型...

  • Java_泛型

    是一种未知的数据类型,当我们不知道使用数据类型的时候,可以使用泛型,泛型可以看成是一个变量,用来接收数据类型泛型可...

  • 泛型 & 注解 & Log4J日志组件

    掌握的知识 : 基本用法、泛型擦除、泛型类/泛型方法/泛型接口、泛型关键字、反射泛型(案例) 泛型 概述 : 泛型...

  • 【泛型】通配符与嵌套

    上一篇 【泛型】泛型的作用与定义 1 泛型分类 泛型可以分成泛型类、泛型方法和泛型接口 1.1 泛型类 一个泛型类...

  • 泛型的使用

    泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法 泛型类 泛型接口 泛型通配符 泛型方法 静态方法与...

  • Java 泛型

    泛型类 例如 泛型接口 例如 泛型通配符 泛型方法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型上下边...

  • 探秘 Java 中的泛型(Generic)

    本文包括:JDK5之前集合对象使用问题泛型的出现泛型应用泛型典型应用自定义泛型——泛型方法自定义泛型——泛型类泛型...

  • Web笔记-基础加强

    泛型高级应用 自定义泛型方法 自定义泛型类 泛型通配符? 泛型的上下限 泛型的定义者和泛型的使用者 泛型的定义者:...

  • 重走安卓进阶路——泛型

    ps.原来的标题 为什么我们需要泛型? 泛型类、泛型接口和泛型方法(泛型类和泛型接口的定义与泛型方法辨析); 如何...

网友评论

      本文标题:Java_泛型

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