jdk编写一个方法,给定参数Object和Class,实现Ojbect根据Class转成具体泛型对象
时间: 2024-03-12 22:44:37 浏览: 62
jdk1.5的泛型实现
您可以使用 Java 中的 TypeReference 类来实现这个功能。下面是一个示例方法:
```java
import com.alibaba.fastjson.TypeReference;
public static <T> T convertObjectToGenericType(Object obj, Class<T> clazz) {
return com.alibaba.fastjson.JSONObject.parseObject(
com.alibaba.fastjson.JSONObject.toJSONString(obj),
new TypeReference<T>(){}.getType()
);
}
```
使用示例:
```java
// 定义一个类
class Person {
private String name;
private int age;
public Person() {}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 省略...
}
// 使用示例
Object obj = new Person("张三", 20);
Class<Person> clazz = Person.class;
Person person = convertObjectToGenericType(obj, clazz);
System.out.println(person.getName()); // 输出:张三
System.out.println(person.getAge()); // 输出:20
```
该方法使用了 FastJson 序列化和反序列化对象的功能,将 Object 对象序列化为 JSON 格式的字符串,然后再使用 TypeReference 类将其反序列化为指定的泛型对象。
阅读全文