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?相关推荐

  1. java 获取泛型_Java泛型 | Jackson TypeReference获取泛型类型信息

    前言 Jackson是一个比较流行的Json序列化和反序列化框架.本文以Jackson为例介绍TypeReference实现涉及泛型的反序列化,及TypeReference的实现原理.对于获取泛型类型 ...

  2. TypeReference -- 让Jackson Json在List/Map中识别自己的Object

    private Map<String, Object> buildHeaders(Object params) {ObjectMapper objectMapper = JacksonHe ...

  3. alibaba JSON TypeReference 复杂类型转换

    1. 基础使用 在fastjson中提供了一个用于处理泛型反序列化的类TypeReference. import com.alibaba.fastjson.TypeReference;List< ...

  4. 从fastjson的TypeReference用法,推导如何实现泛型反射

    1.fastjson带泛型反序列化的用法 fastjson 2.我们来看看TypeReference的源码是什么 TypeReference * 我们发现TypeReferenced的构造方法是保护方 ...

  5. JSON 序列化与反序列化:使用TypeReference 构建类型安全的异构容器

    1. 泛型通常用于集合,如Set和Map等.这样的用法也就限制了每个容器只能有固定数目的类型参数,一般来说,这也确实是我们想要的. 然而有的时候我们需要更多的灵活性,如数据库可以用任意多的Column ...

  6. java typereference_记录一下jackson中TypeReference的使用

    今天在看到项目中有一段代码是将string字符串转化成对象,需要被转化成对象的类加了TypeReference,随即去百度了下. TypeReference是一个抽象类,继承了Comparable接口 ...

  7. java referencemap_Java中TypeReference用法说明

    来源于:https://blog.csdn.net/zhuzj12345/article/details/102914545 在使用fastJson时,对于泛型的反序列化很多场景下都会使用到TypeR ...

  8. 【java】Java中TypeReference用法说明

    1.概述 TypeReference用途 在使用FastJson时,对于泛型的反序列化很多场景下都会使用到TypeReference,例如: void testTypeReference() {Lis ...

  9. TypeReference

    1. 基础使用 在fastjson中提供了一个用于处理泛型反序列化的类TypeReference. import com.alibaba.fastjson.TypeReference;List< ...

最新文章

  1. Scrapy框架中管道的使用
  2. python在中国的发展-Python未来的发展前景到底如何?
  3. fragments lifecycle
  4. 2019 深度学习框架大盘点!看 PyTorch、TensorFlow 如何强势上榜?
  5. QT的QScriptValue类的使用
  6. python pyqt5安装_Python3 安装PyQt5及exe打包图文教程
  7. java 继承类_java类的继承
  8. 《Spring实战》系列之Bean的装配-Days01
  9. Python2.7版本的pip下载安装(win7 64位,Python2.7)
  10. android默认壁纸的历史,Android 默认壁纸 简单分析
  11. pos 指令集 linux,Linux系统下10大开源POS系统
  12. Axure RP--快捷键大全(常用快捷键)
  13. 每年都要调两次时间,美国人已经烦透了
  14. 生成一个16位的随机数字
  15. 一元线性回归方程的参数估计
  16. 什么是linux手机软件?
  17. 微型计算机原理及应用 课程设计,微型计算机原理及应用课程设计.docx
  18. WMS云端转型 势在必行
  19. Ardunio开发实例-红外避障传感器
  20. 2023美赛赛题思路分析

热门文章

  1. 计算机不同的路由如何共享打印机,如何与两个路由器共享打印机
  2. for的循环嵌套 运算详解
  3. 选频方波放大电路设计
  4. Linux shell脚本输出日志的方法和案例
  5. 360开源的类Redis存储系统Pika的最佳实践
  6. window.open() 某些情况会被浏览器阻止弹出窗口及解决办法
  7. 网络编程(一)网络编程入门
  8. 《牛萌萌大冒险》用户隐私政策
  9. ROS向节点传递参数的方法总结(rosrun,launch) + (参数服务器,main函数参数)
  10. 嵌入式Linux开发-网络设备驱动