java arraylist 序列化_无法序列化/反序列化ArrayList
我试图序列化和反序列化内部对象的数组列表:
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相关推荐
- java arraylist 序列化_专题二、ArrayList序列化技术细节详解
一.绪论 所谓的JAVA序列化与反序列化,序列化就是将JAVA 对象以一种的形式保持,比如存放到硬盘,或是用于传输.反序列化是序列化的一个逆过程. JAVA规定被序列化的对象必须实现java.io.S ...
- feign 序列化_自定义 feign 反序列化时间字符格式
feign client 默认配置类:默认的配置类为FeignClientsConfiguration 配置了解码和编码. 当请求Feign Client的方法执行时会被 SynchronousMet ...
- java序列化_夯实Java基础系列22:一文读懂Java序列化和反序列化
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 以ArrayList为例学习序列化和反序列化
一.序列化和反序列化: 在进行对象操作类的实现时,涉及到好几个关键词Serializable和transient 什么是序列化和反序列化? 序列化:将对象转化为字节的过程称为序列化过程 (存储到本地磁 ...
- JAVA进阶教学之(序列化和反序列化)
目录 1.序列化Serialize和反序列化的概念 2.序列化和反序列化的代码演示: 3.序列化多个对象(序列化集合) 4.transient关键字将部分属性不参与序列化 1.序列化Serialize ...
- fegin调用为什么要序列化_全方位解析Java的序列化
前言 相信大家日常开发中,经常看到Java对象"implements Serializable".那么,它到底有什么用呢?本文从以下几个角度来解析序列这一块知识点~ 什么是Java ...
- 字段变成小写 序列化_序列化/反序列化
序列化是干啥用的? 序列化的原本意图是希望对一个Java对象作一下"变换",变成字节序列,这样一来方便持久化存储到磁盘,避免程序运行结束后对象就从内存里消失,另外变换成字节序列也更 ...
- java序列化流_java 序列化流与反序列化流
一 对象序列化流ObjectOutputStream ObjectOutputStream 将Java对象的基本数据类型和图形写入OutputStream.可以使用ObjectInputStream ...
- java transient关键字_嗯?你真的会用 Java 序列化机制?
码农每日一题长按关注,工作日每天分享一个技术知识点. 一.序列化.反序列化概念及其使用场景 1.序列化.反序列化的概念 简单的讲,序列化就是将java对象转化成二进制保存到磁盘中去,反序列化就是从磁盘 ...
最新文章
- php image mask,PHP GD使用一个图像来遮蔽另一个图像,包括透明度
- nginx+tomcat+resin+jdk一键自动化安装脚本(4--resin安装脚本)
- [转]COM线程模型-套间
- 技术干货|基于Apache Hudi 的CDC数据入湖
- java aspectj_Java:AspectJ的异常翻译
- 求整数的位数及各位数字之和(C语言)
- ViewState 与 静态变量的 区别
- JSON语法之JSON数组
- 问题 J: A+B Problem (II) : Input/Output Practice 山东科技大学OJ C语言
- python3librequest_python3.x學習之urilib.request簡單學習
- php中使用fsockopen实现异步请求
- android 自定义相机,Android应用开发之android 7自定义相机预览及拍照功能
- linux docker运行exe,如何在docker中运行windows
- 电影下载、播放、制作、转换、各类问题全攻略
- 服务器显示ipv4问题,IPv4会出现哪些问题
- java-集合框架库-HashMap
- Python入门学习笔记——12.文件操作
- 小学生c语言入门ppt,C语言入门至精完整版46759.ppt
- Python 第几周和星期几
- 【spring里面都用到了哪些设计模式】
热门文章
- Servlet--生命周期
- 微软表示Edge的性能更优于Chrome和Firefox
- element UI el-autocomplete 带输入建议的输入框
- oracle11g 多了个 client,Oracle10g Client Oracle11g DB同时安装发生OCI Error
- mysql栏的范围外值,MySQL中各种字段的取值范围-数据库专栏,MySQL
- php 5.6 mcrypt,php-mcrypt 在PHP5.60+的版本中怎么使用?
- 基于树莓派上的小电台
- 一款NPN三极管测量: BC547C
- 智能车竞赛技术报告 | 智能车视觉 - 中国地质大学(武汉) - 2021 地大乘风队
- 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 广东赛区