首页 > 其他分享 >Serializable 和 Externalizable 有何不同

Serializable 和 Externalizable 有何不同

时间:2022-12-27 10:58:41浏览次数:45  
标签:Externalizable 有何 接口 readExternal writeExternal 序列化 Serializable

Java中的类通过实现 java.io.Serializable 接口以启⽤其序列化功能。 未实现此接口的类将⽆法使其任何状态序列化或反序列化。

可序列化类的所有⼦类型本⾝都是可序列化的。

序列化接口没有⽅法或字段, 仅⽤于标识可序列化的语义。

当试图对⼀个对象进⾏序列化的时候, 如果遇到不⽀持Serializable 接口的对象。 在此情况下, 将抛NotSerializableException

如果要序列化的类有⽗类, 要想同时将在⽗类中定义过的变量持久化下来, 那么⽗类也应该集成java.io.Serializable接口。

Externalizable继承了Serializable, 该接口中定义了两个抽象⽅法:writeExternal()readExternal()。 当使⽤Externalizable接口来进⾏序列化与反序列化的时候需要开发⼈员重写writeExternal()与readExternal()⽅法。

如果没有在这两个⽅法中定义序列化实现细节, 那么序列化之后, 对象内容为空。

实现Externalizable接口的类必须要提供⼀个public的⽆参的构造器。

所以, 实现Externalizable, 并实现writeExternal()readExternal()⽅法可以指定序列化哪些属性。

标签:Externalizable,有何,接口,readExternal,writeExternal,序列化,Serializable
From: https://www.cnblogs.com/longdi666/p/17007565.html

相关文章

  • 【Python】爬虫笔记-TypeError: Object of type 'method' is not JSON serializable
    最近尝试对b站做数据分析,自己边学边造轮子。b站的api返回的格式都是json,在对数据进行格式转换的过程中遇到一个令人哭笑不得的问题,特此记录下来。0x01首先获得b站的api......
  • 快应用与小程序各有何优势
    2018年,“快应用”标准正式推出。快应用是九大手机厂商基于硬件平台共同推出的新型应用生态。用户无需下载安装,即点即用,享受原生应用的性能体验。快应用框架深度集成进各厂商......
  • 房产|11月全国70城房价出炉!你关心的城市房价有何变化
    2022年11月份,70个大中城市中,商品住宅销售价格下降城市个数增加,各线城市商品住宅销售价格环比下降或持平,一线城市新建商品住宅和二手住宅销售价格同比涨幅一落一升、二三线......
  • 支付宝批量转账api接口有何优势?
    淘宝、拼多多、抖音、京东等卖家涉及需要批量返款的场景较多,如“BD返款、好评返现、免单活动批量转账” 等业务转账需要,返款一直是困扰卖家的大问题。通常无论是鱼塘,平台......
  • not JSON serializable解决方法
    问题描述:Python内置的json模块提供了非常完善的Python对象到JSON格式的转换。json.dumps()#将Python中的对象转换为JSON中的字符串对象json.loads()#将JSON中的字......
  • Fragment 和 布局文件中的 include 有何区别?
    Fragment存在于Activity中,但是Fragment管理自己的界面和逻辑,表面上看,Fragment最终的布局还是要被压入到Activity中的布局中。03#Android基础:Fragment。当我们写......
  • 物联网网关在生态水环境治理中有何作用?
    可持续发展是我国始终坚持的国家战略目标之一,生态水环境的可持续发展就是其中的一个重要环节。当前我国依旧存在水资源短缺和环境日益恶化的问题,短时间增加大量污水处理厂的......
  • 到底什么时候需要 implements Serializable ,实体类必须 implements Serializable 才可
    我们都有个惯性思维,就是实体类需要 implementsSerializable以序列化,序列化有两个作用:1、序列化就是将对象属性转变为二进制数据。2、在网络上进行传输。但是我发现......
  • 为什么要实现Serializable
     工作中我们经常在进行持久化操作和返回数据时都会使用到javabean来统一封装参数,方便操作,一般我们也都会实现Serializable接口,那么问题来了,首先:为什么要进行序列化;......
  • 从工业物联网网关讲起:工业数据采集有何特点
    工业物联网是连接物理世界和数字世界的桥梁,是数据的出入通道。在生产现场中,物联网感知层数据来源十分多样,来自各种多源异构设备和系统,带来庞大的数据量,因此如何从这些设备和......