java8 结合Class转换为实体
在Java 8中,可以使用Class类和泛型通配符<?>结合转换为实体。下面是一个示例代码:
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
public class Main {
public static void main(String[] args) {
Class<?> clazz = Person.class; // 获取Person类的Class对象
try {
Constructor<?> constructor = clazz.getConstructor(String.class, int.class); // 获取Person类的构造函数
Object person = constructor.newInstance("John Doe", 25); // 使用构造函数创建实例
if (person instanceof Person) {
Person p = (Person) person; // 将Object对象转换为Person对象
System.out.println("Name: " + p.getName());
System.out.println("Age: " + p.getAge());
}
} catch (NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
在上面的示例中,我们首先获取Person类的Class对象。然后,使用getConstructor方法获取Person类的构造函数,并通过newInstance方法使用构造函数创建实例。最后,通过使用instanceof关键字检查实例是否为Person类的对象,然后进行类型转换并访问实例的属性和方法
原文地址: http://www.cveoy.top/t/topic/iHcL 著作权归作者所有。请勿转载和采集!