java 获取 T.class

转载 2017年09月29日 12:02:12

转载:http://www.hankcs.com/program/t-class.html


@Test
public void Test() throws Exception{
    
    Foo<User> foo = new Foo<User>()
    {
    };
    // 在类的外部这样获取
    Type type = ((ParameterizedType)foo.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
    System.out.println(type);
    // 在类的内部这样获取
    System.out.println(foo.getTClass());
    
   
}
public class Foo<T>
{
    public Class<T> getTClass()
    {
        Class<T> tClass = (Class<T>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
        return tClass;
    }
}


java泛型T.class的获取

很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解。关键的地方是HibernateBaseDao的构造方法中的 [java] view ...

java泛型T.class的获取

很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解。关键的地方是HibernateBaseDao的构造方法中的 [java] view plain co...

Java5泛型的用法,T.class的获取和为擦拭法站台

Java 5的泛型语法已经有太多书讲了,这里不再打字贴书。GP一定有用,不然Java和C#不会约好了似的同时开始支持GP。但大家也清楚,GP和Ruby式的动态OO语言属于不同的意识形态,如果是一人一票...

java泛型T.class的获取

很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解。关键的地方是HibernateBaseDao的构造方法中的 [java] view ...

Java5泛型的用法,T.class的获取

1.先定义接口(这里写的比较简单就一个方法,具体可以再增加) public interface BaseDao {        T get(String id);   } 2.定义抽象类实...

[泛型经典]Java5泛型的用法,T.class的获取和为擦拭法站台

Java 5的泛型语法已经有太多书讲了,这里不再打字贴书。GP一定有用,不然Java和C#不会约好了似的同时开始支持GP。但大家也清楚,GP和Ruby式的动态OO语言属于不同的意识形态,如果是一人一票...

java泛型T.class的获取

很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解。关键的地方是HibernateBaseDao的构造方法中的 [java] view pl...

JAVA 泛型 - Class<T>

Class 类 Class 已经泛型化了,但是很多人一开始都感觉其泛型化的方式很混乱。Class 中类型参数 T 的含义是什么?事实证明它是所引用的类接口。怎么会是这样的呢?那是一个循环推理?如...

MySQL JDBC驱动 - Class.forName和java.sql.DriverManager.registerDriver (new Driver())的区别

MySQL JDBC驱动 - 01 - Class.forName 我们都知道JDBC的代码怎么写,比如以MySQL JDBC为例 //注册JDBC驱动 Class.forNam...

Java混淆工具ProGuard的最简明使用方法及Warning: can’t find referenced class xxx的解决方法

ProGuard是一个广受欢迎的Java混淆工具,很多Android应用也会使用该工具进行混淆。下面简单总结一下其出现的Warning: can’t find referenced class x...
  • qysh123
  • qysh123
  • 2014年01月03日 11:22
  • 1689
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 获取 T.class
举报原因:
原因补充:

(最多只允许输入30个字)