java TypeReference类
时间: 2023-12-03 12:39:13 浏览: 94
Java中的TypeReference类是一个抽象类,用于在反序列化时明确指定类型。它的实现逻辑是通过获取泛型超类的实际类型参数来确定类型。具体实现逻辑可以参考TypeReference类的构造函数。下面是一个使用TypeReference类的例子:
```java
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
String json = "{\"name\":\"John\",\"age\":30}";
Person person = mapper.readValue(json, new TypeReference<Person>() {});
System.out.println(person.getName()); // 输出:John
}
static class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
在上面的例子中,我们使用ObjectMapper类将JSON字符串反序列化为Person对象。由于Person是一个泛型类型,我们需要使用TypeReference类来明确指定类型。在TypeReference的构造函数中,我们使用了匿名内部类来获取Person类型。最终,我们成功地将JSON字符串反序列化为Person对象,并输出了Person对象的name属性。
阅读全文