背景

jdk1.8

本次事故简介

报错定位

entity

数据库字段

调试断点

图片看完,我们发现本应该是List的地方竟然存着ArrayList。

排查逻辑1:此处属于查询完数据库后的事故
排查逻辑2:查询完数据库后生成的entity数组时,没有出现String转Date的报错,而是当我for循环时,出现的String转Date的报错
排查逻辑3:调试时的数据类型出现异常,本应该是List的地方竟然存着ArrayList

对应代码修改为

这样就避免的bug的发生

bug还原


最终总结:List<?>成了破局关键了。。。我以为反序列化时,字符串会对应序列化为日期类型,结果想当然了,List成功序列化进入数据库,但是反序列化时成了List,哎,额米陀佛

java 来自集合中泛型序列化的bug,难得一遇相关推荐

  1. 什么是泛型以及在集合中泛型的使用

    什么是泛型? 泛型最常与集合使用,因为泛型最开始开始被加入Java就是为了解决集合向下转型一类问题的.如果我们有这样一个需求:定义一个描述类圆,要求圆中的数据类型是不确定的,也就是声名属性的时候,属性 ...

  2. java操作集合中 concurrentModifyException 异常的原因分析

    java操作集合中 concurrentModifyException 异常的原因分析 参考文章: (1)java操作集合中 concurrentModifyException 异常的原因分析 (2) ...

  3. 声明方法java实际开发中泛型使用需要注意的一些问题

    在写这篇文章之前,xxx已经写过了几篇关于改声明方法主题的文章,想要了解的朋友可以去翻一下之前的文章 1.Map<K,V> 声明的泛型类型必须是类,不能是基本类型.如果是基本类型将其写为对 ...

  4. Java Collection集合 --迭代器 -- 泛型 --List接口案例

    案例1 需求:具体要求如下:学生练习 1.定义一个学生类Student,包含三个属性姓名.年龄.性别, 私有成员变量,生成无参,有参构造方法,生成get/set方法并重写toString()方法. 2 ...

  5. JAVA求集合中的组合

    好几个月没弄代码了,今天弄个求组合的DEMO 思路是将集合的每个值对照一个索引,索引大小是集合的大小+2.索引默认为[000...000],当组合后选取的组合值demo为[0100..00].然后根据 ...

  6. Java 删除集合中指定的元素

    使用 Collection 类的 collection.remove() 方法来删除集合中的指定的元素 完整代码 import java.util.*;public class Main {publi ...

  7. java遍历集合中的元素_java中如何遍历ArrayList集合中的元素并输出

    问题: 假设集合ArrayList中存储的元素是整形数字1~5,遍历每个元素,将每个元素顺序输出. 在线学习视频推荐:java教学视频 示例如下:package work10; import java ...

  8. java List集合中contains方法总是返回false

    ArrayList的contains方法 java 今天在用ArrayList类的caontains方法是遇到了问题,我写了一个存放User类的ArrayList 但在调用list.contains( ...

  9. java项目中怎么查看用的序列_如何在Java应用程序中使用序列化分类器对...

    我想使用序列化分类器对新实例进行分类.我找到了这堂课,但我听不懂. arg [2] =类属性名称,arg [3] =基于实例的索引(从原始数据集中进行预测) 这是此类的代码: import weka. ...

最新文章

  1. AI解梦成为现实 未来还有无限可能
  2. 少儿python编程培训-全国少儿人工智能Python编程兴趣班
  3. 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 )
  4. Python多进程multiprocessing共享数据Value(包括常用的整数、字符串)、列表及字典以及Queue
  5. python histo 改变 bins 大小_子批次大小python
  6. 千万不要在深夜提交代码
  7. 洛谷——P1119 灾后重建
  8. hdu 3068 最长回文 (Manacher算法求最长回文串)
  9. 二十.激光、视觉和惯导LVIO-SLAM框架学习之相机内参标定
  10. dict.get 用法笔记
  11. Unity整体与单个缩放比例
  12. 2023年东南大学集成电路设计考研考情与难度、参考书及上岸前辈备考经验
  13. vscode如何设置大小写转换的快捷键
  14. 编译原理-8-Bison 语法分析器的生成器
  15. git提示Can‘t update: no tracked branch
  16. 所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。
  17. EChat(简易聊天项目)三、聊天界面UI实现
  18. mysql中查找出生日期_如何在MySQL中根据出生日期记录显示日期名称?
  19. ROS2-Gazebo仿真
  20. 企业微信聊天工具栏怎么开启?如何调整位置?

热门文章

  1. 哈佛H8、比亚迪S7、传祺GS8、长安CS95发动机横评对比
  2. 英雄联盟掉线怎么不显示重新连接服务器,win7系统玩英雄联盟掉线总是显示正在尝试重新连接的解决方法...
  3. Xman资格选拔赛-web
  4. 收藏:近期已上线或即将上线的热门手游盘点,射击魔幻角色扮演?总有一款适合你
  5. photoshop输出html网页方法
  6. 鼠标点击地面人物自动走动(也包含按键wasdspace控制)
  7. SQL中drop table语句删除数据表
  8. Windows系统打开ftp链接下载文件方法
  9. 基于客观事实的 RFM 模型(Python 代码)
  10. 目标检测算法——收藏|小目标检测的定义(一)