Java 8 泛型:使用 Class<?> 将未知类型转换为实体
在 Java 中,可以使用泛型来实现不确定类型的转换。在这种情况下,可以使用 Class<?> 来表示未知的对象类型。然后,可以使用 Class 对象的 newInstance() 方法来创建实例,并将其转换为 Po 类型。
以下是一个示例代码:
public class Main {
public static void main(String[] args) {
Class<?> poClass = Po.class;
try {
Object poObject = poClass.newInstance();
if (poObject instanceof Po) {
Po po = (Po) poObject;
// 进行 Po 对象的操作
po.setName('John');
po.setAge(25);
// ...
}
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
class Po {
private String name;
private int age;
// getters and setters
// ...
}
在上面的示例中,我们首先获取到了 Po 类的 Class 对象。然后使用 newInstance() 方法创建了一个 Po 类的实例,并将其转换为 Object 类型。接下来,我们使用 instanceof 关键字来检查该对象是否是 Po 类的实例,然后进行相应的操作。
请注意,newInstance() 方法在 Java 9 中已经被废弃,推荐使用 getDeclaredConstructor().newInstance() 来创建实例。
原文地址: https://www.cveoy.top/t/topic/qnI7 著作权归作者所有。请勿转载和采集!