如何在Java中使用泛型和Class <t>类

时间:2019-03-08 00:16:15

标签: java generics

我在包装public class Example中有我的自定义com.classes

1。如何获得Class<Example> intance1Class<Example[]> instance2

我可以使用Class classInstance = Class.forName("com.classes.Example");

但是在这种情况下,我会收到原始类型类。

2。 创建 Class<Example[]> from Class<Example> 实例(正确)是不可能的吗?

1 个答案:

答案 0 :(得分:4)

对于第一个问题,请使用类文字,它是类名,后跟.class

Class<Example> c = Example.class;

对于第二个问题,我没有看到Class类中的任何方法来检索相同类型数组的Class对象,例如无法从Class<Example[]>获取Class<Example>。但是您仍然可以使用类文字直接获取它。

Class<Example[]> c = Example[].class;

但是,看来可以为表示数组的类的组件类型获取Class对象,即,与所需的对象相反,但是它返回Class<?>

Class<?> c = Example[].class.getComponentType();