我试图序列化和反序列化内部对象的数组列表:

HairBirt param = new HairBirt();

param.setName("name");

param.setValue(2.3f);

HairBirt param2 = new HairBirt();

param2.setName("name2");

param2.setValue(2.4f);

ArrayList list = new ArrayList();

list.add(param);

list.add(param2);

ByteArrayOutputStream bos = null;

try {

bos = new ByteArrayOutputStream();

ObjectOutputStream obj_out = new ObjectOutputStream(bos);

obj_out.writeObject(list);

} catch (IOException e) {

e.printStackTrace();

}

String encoded = bos.toString();

try {

encoded = URLEncoder.encode(encoded, "UTF-8");

} catch (UnsupportedEncodingException e1) {

e1.printStackTrace();

}

System.out.print("The serialized output is: " + encoded);

//DECODE

ArrayList paramDecoded;

String myParam = null;

try {

myParam = URLDecoder.decode(encoded, "UTF-8");

} catch (UnsupportedEncodingException e1) {

e1.printStackTrace();

}

System.out.println("Got parameters");

ByteArrayInputStream bis = new ByteArrayInputStream(myParam.getBytes());

try {

ObjectInputStream obj_in = new ObjectInputStream(bis);

paramDecoded = (ArrayList) obj_in.readObject();

} catch (IOException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

HairList对象也是一个可序列化的对象。

此代码执行返回以下错误:

java.io.InvalidClassException: java.util.ArrayList; local class

incompatible: stream classdesc serialVersionUID = 8664875232659988799, local

class serialVersionUID = 8683452581122892189

排队 paramDecoded = (ArrayList) obj_in.readObject();

我不知道我在做什么错。你能给个小费吗?

更新:

解决: 仅使用HairBirt的本机数组而不是ArrayList即可工作:

HairBirt[] list = new HairBirt[x];

代替

ArrayList list = new ArrayList();

感谢大家的帮助。

java arraylist 序列化_无法序列化/反序列化ArrayList相关推荐

  1. java arraylist 序列化_专题二、ArrayList序列化技术细节详解

    一.绪论 所谓的JAVA序列化与反序列化,序列化就是将JAVA 对象以一种的形式保持,比如存放到硬盘,或是用于传输.反序列化是序列化的一个逆过程. JAVA规定被序列化的对象必须实现java.io.S ...

  2. feign 序列化_自定义 feign 反序列化时间字符格式

    feign client 默认配置类:默认的配置类为FeignClientsConfiguration 配置了解码和编码. 当请求Feign Client的方法执行时会被 SynchronousMet ...

  3. java序列化_夯实Java基础系列22:一文读懂Java序列化和反序列化

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  4. 以ArrayList为例学习序列化和反序列化

    一.序列化和反序列化: 在进行对象操作类的实现时,涉及到好几个关键词Serializable和transient 什么是序列化和反序列化? 序列化:将对象转化为字节的过程称为序列化过程 (存储到本地磁 ...

  5. JAVA进阶教学之(序列化和反序列化)

    目录 1.序列化Serialize和反序列化的概念 2.序列化和反序列化的代码演示: 3.序列化多个对象(序列化集合) 4.transient关键字将部分属性不参与序列化 1.序列化Serialize ...

  6. fegin调用为什么要序列化_全方位解析Java的序列化

    前言 相信大家日常开发中,经常看到Java对象"implements Serializable".那么,它到底有什么用呢?本文从以下几个角度来解析序列这一块知识点~ 什么是Java ...

  7. 字段变成小写 序列化_序列化/反序列化

    序列化是干啥用的? 序列化的原本意图是希望对一个Java对象作一下"变换",变成字节序列,这样一来方便持久化存储到磁盘,避免程序运行结束后对象就从内存里消失,另外变换成字节序列也更 ...

  8. java序列化流_java 序列化流与反序列化流

    一 对象序列化流ObjectOutputStream ObjectOutputStream 将Java对象的基本数据类型和图形写入OutputStream.可以使用ObjectInputStream ...

  9. java transient关键字_嗯?你真的会用 Java 序列化机制?

    码农每日一题长按关注,工作日每天分享一个技术知识点. 一.序列化.反序列化概念及其使用场景 1.序列化.反序列化的概念 简单的讲,序列化就是将java对象转化成二进制保存到磁盘中去,反序列化就是从磁盘 ...

最新文章

  1. php image mask,PHP GD使用一个图像来遮蔽另一个图像,包括透明度
  2. nginx+tomcat+resin+jdk一键自动化安装脚本(4--resin安装脚本)
  3. [转]COM线程模型-套间
  4. 技术干货|基于Apache Hudi 的CDC数据入湖
  5. java aspectj_Java:AspectJ的异常翻译
  6. 求整数的位数及各位数字之和(C语言)
  7. ViewState 与 静态变量的 区别
  8. JSON语法之JSON数组
  9. 问题 J: A+B Problem (II) : Input/Output Practice 山东科技大学OJ C语言
  10. python3librequest_python3.x學習之urilib.request簡單學習
  11. php中使用fsockopen实现异步请求
  12. android 自定义相机,Android应用开发之android 7自定义相机预览及拍照功能
  13. linux docker运行exe,如何在docker中运行windows
  14. 电影下载、播放、制作、转换、各类问题全攻略
  15. 服务器显示ipv4问题,IPv4会出现哪些问题
  16. java-集合框架库-HashMap
  17. Python入门学习笔记——12.文件操作
  18. 小学生c语言入门ppt,C语言入门至精完整版46759.ppt
  19. Python 第几周和星期几
  20. 【spring里面都用到了哪些设计模式】

热门文章

  1. Servlet--生命周期
  2. 微软表示Edge的性能更优于Chrome和Firefox
  3. element UI el-autocomplete 带输入建议的输入框
  4. oracle11g 多了个 client,Oracle10g Client Oracle11g DB同时安装发生OCI Error
  5. mysql栏的范围外值,MySQL中各种字段的取值范围-数据库专栏,MySQL
  6. php 5.6 mcrypt,php-mcrypt 在PHP5.60+的版本中怎么使用?
  7. 基于树莓派上的小电台
  8. 一款NPN三极管测量: BC547C
  9. 智能车竞赛技术报告 | 智能车视觉 - 中国地质大学(武汉) - 2021 地大乘风队
  10. 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 广东赛区