什么是TypeReference?
TypeReference作用:在有泛型的对象中,在反序列化时,将数据封装成泛型对象;(看完下面的例子就明白了)
举例说明:
//一个泛型类
@Data
public class Generic<T> {private String name;private T info;
}
//一个普通类
@Data
public class Shape {private Integer hight;private Integer wight;
}
//测试类
@Testpublic void test6() throws IOException {//创建对象并设置值Generic<List<Shape>> generic = new Generic<>();generic.setName("aaa");Shape shape = new Shape();shape.setHight(198);shape.setWight(55);Shape shape1 = new Shape();shape1.setHight(200);shape1.setWight(58);ArrayList<Shape> list = new ArrayList<>();list.add(shape);list.add(shape1);generic.setInfo(list);ObjectMapper objectMapper = new ObjectMapper();//序列化String string = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(generic);System.out.println(string);//反序列化//使用TypeReferenceGeneric o = objectMapper.readValue(string, new TypeReference<Generic<List<Shape>>>() {});//不使用TypeReference
// Generic o = objectMapper.readValue(string, Generic.class);System.out.println(o);}
控制台打印结果:
不使用TypeReference:
使用TypeReference:
什么是TypeReference?相关推荐
- java 获取泛型_Java泛型 | Jackson TypeReference获取泛型类型信息
前言 Jackson是一个比较流行的Json序列化和反序列化框架.本文以Jackson为例介绍TypeReference实现涉及泛型的反序列化,及TypeReference的实现原理.对于获取泛型类型 ...
- TypeReference -- 让Jackson Json在List/Map中识别自己的Object
private Map<String, Object> buildHeaders(Object params) {ObjectMapper objectMapper = JacksonHe ...
- alibaba JSON TypeReference 复杂类型转换
1. 基础使用 在fastjson中提供了一个用于处理泛型反序列化的类TypeReference. import com.alibaba.fastjson.TypeReference;List< ...
- 从fastjson的TypeReference用法,推导如何实现泛型反射
1.fastjson带泛型反序列化的用法 fastjson 2.我们来看看TypeReference的源码是什么 TypeReference * 我们发现TypeReferenced的构造方法是保护方 ...
- JSON 序列化与反序列化:使用TypeReference 构建类型安全的异构容器
1. 泛型通常用于集合,如Set和Map等.这样的用法也就限制了每个容器只能有固定数目的类型参数,一般来说,这也确实是我们想要的. 然而有的时候我们需要更多的灵活性,如数据库可以用任意多的Column ...
- java typereference_记录一下jackson中TypeReference的使用
今天在看到项目中有一段代码是将string字符串转化成对象,需要被转化成对象的类加了TypeReference,随即去百度了下. TypeReference是一个抽象类,继承了Comparable接口 ...
- java referencemap_Java中TypeReference用法说明
来源于:https://blog.csdn.net/zhuzj12345/article/details/102914545 在使用fastJson时,对于泛型的反序列化很多场景下都会使用到TypeR ...
- 【java】Java中TypeReference用法说明
1.概述 TypeReference用途 在使用FastJson时,对于泛型的反序列化很多场景下都会使用到TypeReference,例如: void testTypeReference() {Lis ...
- TypeReference
1. 基础使用 在fastjson中提供了一个用于处理泛型反序列化的类TypeReference. import com.alibaba.fastjson.TypeReference;List< ...
最新文章
- Scrapy框架中管道的使用
- python在中国的发展-Python未来的发展前景到底如何?
- fragments lifecycle
- 2019 深度学习框架大盘点!看 PyTorch、TensorFlow 如何强势上榜?
- QT的QScriptValue类的使用
- python pyqt5安装_Python3 安装PyQt5及exe打包图文教程
- java 继承类_java类的继承
- 《Spring实战》系列之Bean的装配-Days01
- Python2.7版本的pip下载安装(win7 64位,Python2.7)
- android默认壁纸的历史,Android 默认壁纸 简单分析
- pos 指令集 linux,Linux系统下10大开源POS系统
- Axure RP--快捷键大全(常用快捷键)
- 每年都要调两次时间,美国人已经烦透了
- 生成一个16位的随机数字
- 一元线性回归方程的参数估计
- 什么是linux手机软件?
- 微型计算机原理及应用 课程设计,微型计算机原理及应用课程设计.docx
- WMS云端转型 势在必行
- Ardunio开发实例-红外避障传感器
- 2023美赛赛题思路分析