美文网首页
Java获取当前类泛型T的类型 T.class

Java获取当前类泛型T的类型 T.class

作者: 我要进大厂 | 来源:发表于2021-08-27 20:19 被阅读0次

这个处于我想拿T.class去将jdbc查询出来的ResultSet的每列数据 ,通过反射set到T对象对应的成员变量里面。

第一种方式:构造器传入T.class

public class GenericType<T> {

    public Class<T> class2;

    public GenericType(Class<T> class2) {
        this.class2 = class2;
    }

    public void useGenericType() {
             System.out.println(class2);
    }

    public static void main(String[] args) {
        GenericType<String> stringGenericType = new GenericType<>(String.class);
        stringGenericType.useGenericType();
    }
}  

第二种方式:通过继承 + 反射获取

我这里用了匿名内部类继承

public abstract class GenericType2<T> {

    public Class<T> class2;

    public Class<T> getTClass() {
        class2 = (Class<T>) ((ParameterizedType)this.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
        return class2;
    }

    public void useGenericType() {
        System.out.println(getTClass());
    }

    public static void main(String[] args) {
        //  new GenericType2<String>() {}; 匿名内部类
        GenericType2<String> stringGenericType = new GenericType2<String>() {};
        stringGenericType.useGenericType();
    }
}

相关文章

  • Java获取当前类泛型T的类型 T.class

    这个处于我想拿T.class去将jdbc查询出来的ResultSet的每列数据 ,通过反射set到T对象对应的成员...

  • Java反射相关

    //获取超类的泛型参数的实际类型Class c = this.getClass();//获取当前类类型//P...

  • Java泛型教程

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

  • Java获取泛型参数的Class类型

    需求:两个类:A带泛型参数T,B继承A并给出泛型参数类型,现在想在A中获取T的Class类型。 执行一下代码:

  • Scala 类型系统

    1.在scala泛型中获取其 Class[T] 需求:获取一个泛型 T 的 class 类型的 Class[T],...

  • Java 完美获取泛型类型(包含嵌套的泛型)

    完美获取泛型类型(包含嵌套多层的泛型) 1. 工具类 获取泛型类型工具类 2. 使用方法 2.1. 集成接口带有泛...

  • 九、泛型

    九、泛型 尽量不要写这种有能与泛型方法重载的代码,有迷惑性 限定传入 T 的类型 泛型数组 Java 不支持泛型类...

  • JAVA 核心笔记 || [xxx] 泛型

    泛型 JAVA 的参数化类型 称为 泛型 泛型类的设计 Learn12.java 运行

  • java泛型

    java泛型 Java 泛型的参数只可以代表类,不能代表个别对象。 由于 Java 泛型的类型参数之实际类型在编译...

  • java泛型中类型擦除的一些思考

    java泛型 java泛型介绍 java泛型的参数只可以代表类,不能代表个别对象。由于java泛型的类型参数之实际...

网友评论

      本文标题:Java获取当前类泛型T的类型 T.class

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