fastjson中new TypeReference
时间: 2023-10-12 07:20:45 浏览: 260
fastjson-1.2.17-API文档-中文版.zip
在fastjson中,TypeReference是用来解决泛型类型擦除的问题的。由于Java中的泛型是在编译期间进行类型擦除的,因此在运行时无法获取泛型类型的具体信息。而TypeReference可以通过继承该类,并指定泛型类型,来获取泛型类型的具体信息,从而在序列化和反序列化时使用。例如:
```java
List<String> list = new ArrayList<String>();
list.add("hello");
TypeReference<List<String>> typeRef = new TypeReference<List<String>>(){};
String json = JSON.toJSONString(list, typeRef);
List<String> newList = JSON.parseObject(json, typeRef.getType());
```
在上述代码中,我们通过继承TypeReference类,并将泛型类型指定为List<String>,来获取泛型类型的具体信息。然后在序列化和反序列化时,通过getType()方法获取到具体的泛型类型,从而正确地进行转换。
阅读全文