我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019全年资料大全正版 > 泛型类 >

如何获得java 泛型类中T的实例?

归档日期:05-17       文本归类:泛型类      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  由于一个类的类型是什么是在编译期处理的,故不能在运行时直接在Base里得到T的实际类型。

  其中BaseT是泛型类,在父类中声明getGenericType,子类继承具体的BaseString,那么在子类中就可以通过getGenericType(0)获取到String的class.

  展开全部Java与C++不同,如果你在放进一个类以后想用new T()来创建一个实例,Java是无法实现的。这是因为Java有擦除机制,而且编译器不能验证T具有默认(无参)构造器。

  解决方案是传递一个工厂对象,并且使用它来创建新的实例。最便利的工厂对象就是Class对象,因此如果使用类型标签,那么你就可以使用newInstance来创建这个类型的新对象。

  具体查看Bruce.Eckel著《Java编程思想(第四版)》的383页。

  Class.forName(xxx.xx.MyClass).newInstance()

本文链接:http://buggystordera.com/fanxinglei/180.html