100个Java工具类之42:序列化工具类Apache之SerializationUtils

序列化工具类Apache之
org.apache.commons.lang3.SerializationUtils

众所周知:Java中序列化是指,将Java对象转换为可存储传输的字节序列的过程。

序列化作用:

1、网络传输:网络可以传输字节化的java对象

2、数据安全:字节数据,方便在磁盘上存储

3、便于存储:可以将其存储在磁盘上,以供以后使用

下面介绍序列化工序SerializationUtils的使用实例。

一、序列化

序列化之前,实体类需要实现Serializable接口

Person p = new Person();
p.setName("张三");
byte[] byte = SerializationUtils.serialize(p);

二、反序列化

Person p = new Person();
p.setName("张三");
byte[] b = SerializationUtils.serialize(p);
Person stuObject = SerializationUtils.deserialize(b);
输出:Person{name='张三', age=0}

三、利用序列化实现深度克隆

//深克隆
Person p = new Person();
p.setName("张三");
SerializationUtils.serialize(p);
Person p2 = SerializationUtils.clone(p);
boolean isEqual = p == p2;
输出:fasle
boolean isEqual2 = p.getName() == p2.getName();
输出:fasle
//浅克隆(为更好理解深浅克隆的区别,这里举例浅克隆)
//浅克隆时,实体类需实现Cloneable接口
Person p = new Person();
p.setName("张三");
Person p2 = (Person) p.clone();
boolean isEqual = p == p2;
输出:fasle
boolean isEqual2 = p.getName() == p2.getName();
输出:true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值