问题真真的挺好的,没给具体的代码,但愿我的回答是你想要的
在以前的 JDK 中,Class.newInstance() 方法的定义返回 Object,你很可能要将该返回类型强制转换为另一种类型:- class Class {
- Object newInstance();
- }
复制代码 但是使用泛型,你定义 Class.newInstance() 方法具有一个更加特定的返回类型:- class Class<T> {
- T newInstance();
- }
复制代码 如何创建一个 Class<T> 类型的实例?就像使用非泛型代码一样,有两种方式:调用方法 Class.forName() 或者使用类常量X.class。Class.forName() 被定义为返回 Class<?>。另一方面,类常量 X.class 被定义为具有类型 Class<X>,所以 String.class 是Class<String> 类型的。
Class<String> clazz 这句代码,也就是说clazz是一个String类型的类,因为Class类的实例是一个类。
也不必要在Test.class.newInstance() 强制类型转换为 Test,即Test t=(Test)Test.class.newInstance() |