泛型 T 获取

原创 2016年08月30日 15:32:19

学了好长时间的Java ,对于Class.class 还是理解的不够透彻,网上的好多例子都是不能执行的;
╮(╯▽╰)╭
所以,直接上代码

public class DaoImpl<T,K> {
    public DaoImpl() {
        getGenericClass();
    }

    private void getGenericClass() {
        ParameterizedType pt = (ParameterizedType) getClass().getGenericSuperclass();
        Arrays.asList(pt.getActualTypeArguments()).forEach(type->System.out.println((Class)type));
    }
}

这个类是重点,如果直接实例DaoImpl 或报错java.lang.ClassCastException

public class UserDaomImpl extends DaoImpl<Stu,Model,Stu>{
}
public class Stu {

}
class Model{

}

测试

public class Main {
    public static void main(String[] args) {
        new UserDaomImpl ();
    }
}

更多文章请移步:> http://blog.csdn.net/norwaya007

版权声明:本文为博主原创文章,未经博主允许不得转载。

泛型<T>的类型获取

T.getClass()或者T.class都是非法的,因为T是泛型变量。由于一个类的类型是什么,是在编译期处理的,故不能在运行时直接在Base里得到T的实际类型。 /** *@author zhan...
  • zmx729618
  • zmx729618
  • 2017年01月11日 11:31
  • 3110

java泛型得到T.class

import java.lang.reflect.ParameterizedType; public class Test { public Class getTClass() { retur...
  • buyaore_wo
  • buyaore_wo
  • 2012年11月01日 23:01
  • 2436

获取泛型类型T的实际类的Class对象

import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; //abstract public  c...
  • waterwindsxu
  • waterwindsxu
  • 2015年03月03日 18:13
  • 8327

封装篇——获取泛型<T>的Class<T> clazz

在我们搭建框架中往往会用到泛型,我们知道泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,代码的重用率高, 然而有时候``的入参并不能直接强制转换成泛型的类型,这就有所限制.....
  • sinat_15877283
  • sinat_15877283
  • 2016年03月24日 14:02
  • 12593

泛型--Java使用泛型编程提取类名上T类型

转载自:http://blog.csdn.net/ykdsg/article/details/5472591   很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的clas...
  • szzt_lingpeng
  • szzt_lingpeng
  • 2016年12月28日 23:15
  • 5189

在泛型中得到T.class

在使用Spring的JdbcTemplate实现DAO的时候,经常会用到一个类ParameterizedBeanPropertyRowMapper。它的静态方法newInstance()接受一个Cla...
  • gengv
  • gengv
  • 2010年01月11日 21:58
  • 22176

Java泛型获取T class的解决方法(异步请求代码的优化)

异步请求时我们会很想获取到泛型的class,但是却很难获取到,这个时候该怎么办?...
  • hi_ugly
  • hi_ugly
  • 2017年11月30日 00:43
  • 219

Java 得到泛型中得到T.class

原文地址http://blog.csdn.net/gengv/article/details/5178055 在使用spring的JdbcTemplate实现DAO的时候,经常会...
  • z69183787
  • z69183787
  • 2017年01月10日 11:59
  • 2194

Java获得泛型类中T的实例

获得泛型类代码://获得泛型T的具体类 public class GetGenericUtil { //得到泛型类T public Class getMyClass(){ ...
  • zcl_love_wx
  • zcl_love_wx
  • 2016年08月12日 16:59
  • 3086

获取Object对象泛型的形参(T)

// data为 IList 对象    Convert.ChangeType(data,data.GetType().GetGenericArguments()[0]);
  • zfl1986
  • zfl1986
  • 2014年12月23日 08:01
  • 218
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:泛型 T 获取
举报原因:
原因补充:

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