需要defaultReadObject()和defaultWriteObject()

2024-04-04

为什么需要写defaultReadObject() and defaultWriteObject()作为第一个声明readObject(ObjectInputStream o) and writeObject(ObjectOutputStream o)类实现时的方法serializable界面。


defaultReadObject() and defaultWriteObject()应该是里面的第一个方法调用readObject(ObjectInputStream o) and writeObject(ObjectOutputStream o).它读取和写入所有non transient分别是类的字段。这些方法还有助于向后和未来的兼容性。如果将来你添加一些non-transient字段到类中,并且您尝试通过旧版本的类反序列化它,那么 defaultReadObject() 方法将忽略新添加的字段,类似地,如果您通过新版本反序列化旧的序列化对象,那么新的非瞬态字段将采用JVM 的默认值,即如果它的对象则为 null,否则如果为原语则 boolean 为 false,int 为 0 等等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要defaultReadObject()和defaultWriteObject() 的相关文章

随机推荐

  • 清除 Django Admin 或表单中预期的 ExclusionConstraint IntegrityError

    这些文档展示了一种接受 PostgreSQL 提供的数据完整性约束的方法 例如这ExclusionConstraint for 重叠范围 您可以从文档中阅读建议的解决方案here https docs djangoproject com e
  • jquery datepicker 和自定义验证

    我需要添加自定义验证 我认为 来验证用户的输入 这是我的用例 我使用 jquery ui datepicker 来选择日期 本地化如下 datepicker setDefaults datepicker regional currentLo
  • 载波;多个上传者还是只有一个?

    我有一个post模型和一个podcast模型 两种模型都有一个名为 image 我正在使用一个载波 https github com jnicklas carrierwaveuploader 名为 ImageUploader 来处理这两种模
  • 如何设置剪切矩形或区域

    如何设置 修改和清除 iOS drawRect 内的剪切矩形 以将线条 文本 图像等的通用 CG 绘图剪切到视图的一小部分 是否可以使用由一堆矩形和圆形组成的更复杂的剪切区域 您可以设置任意路径的剪切区域 不限于矩形 以下是一些实现方法 您
  • Gson 将新对象数组附加到现有 JSON 文件

    我需要一些帮助将新数组附加到现有文件中 我有一个像这样的 JSON 文件 name any address street xxxx number 1 email email protected cdn cgi l email protect
  • 暂停 VBA 循环,直到重新计算工作表

    我在 Google 上搜索到第 10 页 但找不到解决方案 我在 VBA 中有一个循环 但希望它在继续之前等待 直到重新计算工作表 大多数人建议的是雇佣DoEvents 但是 这对我不起作用 这是到目前为止我的代码 它不会等到工作表计算出来
  • 使用 Retrofit 2.0 POST 方法获取请求正文内容

    我需要在执行之前获取请求正文并使用 Retrofit 2 0 执行一些逻辑操作enque手术 但不幸的是 我无法从我的服务呼叫中获取帖子正文内容 目前 经过大量搜索后 我发现只有一种解决方案 例如logging the request我使用
  • 无法启动嵌入式Tomcat org.springframework.context.ApplicationContextException

    最近开始使用 Spring Boot 尝试创建一个简单的登录 以便我可以开始将我的 spring mvc 项目迁移到 spring boot 但是不断收到错误 无法启动网络服务器 嵌套异常是 org springframework boot
  • 如何覆盖 NumPy 的 ndarray 和我的类型之间的比较?

    在 NumPy 中 可以使用 array priority 属性来控制作用于 ndarray 和用户定义类型的二元运算符 例如 class Foo object def radd self lhs return 0 array priori
  • 单次迭代 => 从 Java 到 Scala 的多个输出集合

    我目前正在尝试将一些 Java 代码转换为 Scala 代码 挑战在于确保转换后的 Scala 代码与原始 Java 代码相比不会执行效率非常低的事情 例如当尝试转换以下代码时 class Person String name Intege
  • 关闭 viewController 后重新加载 tableView

    我有一个 ViewController VCA 里面有一个 TableView 从这个 ViewController 可以调用另一个 ViewController VCB 在第二个 VC 中 可以向 plist 添加一个项目 用于填充 VC
  • Twitter消费者密钥和秘密密钥有什么区别?

    我是 Twitter 开发新手 现在 我已经获得了消费者密钥和秘密密钥 但我不知道在哪里使用哪一个 用于登录的简单 JavaScript 代码不起作用 我其实想在推特上发布比赛的比分 任何人请指导我 谢谢 Twitter 有一个很棒的入门指
  • 为什么 readline() 将 stdin 回显到 stdout?

    我写了一个小的 C 程序 使用readline 从 stdin 读取输入 我没有从终端与其进行交互 而是编写了一个测试工具来执行 C 程序并为其提供输入 test harness stdout gt stdin gt C program s
  • 与 .Net 邮件附件一起使用时处置 MemoryStream

    我正在使用 MemoryStream 从存储在数据库中的二进制文件添加附件 我的问题是我想正确处置 MemoryStream 使用 using 语句可以轻松完成此操作 但是当我有多个附件时 我不知道如何正确处理多个 MemoryStream
  • Three.js - 在自定义几何体上平滑兰伯特材质着色的问题

    我在 Three js 中创建了一个自定义几何体 现在 我想创建一个使用平滑阴影兰伯特材质的网格 使用循环 我创建了顶点数组 然后创建了面 然后我调用了 geometry computeCentroids geometry computeF
  • Java BigInteger [重复]

    这个问题在这里已经有答案了 可能的重复 BigInteger 的困难 https stackoverflow com questions 10780209 diffucilty with biginteger import java mat
  • 为什么在内部类中使用公共方法?

    我们的一个项目中有很多代码如下所示 internal static class Extensions public static string AddFoo this string s if s null return Foo return
  • 如何将 Lua 嵌入到 Python 3.x 中?

    是否可以将 Lua 嵌入到 Python 3 x 中 如果是这样 我如何在我的 Python 程序中运行和执行 Lua 脚本 语言之间的交互有多好 例如 Lua 是否可以访问 Python 的所有变量和类以及 Python 是否可以访问 L
  • Angular 2/4 中的嵌套路由

    我正在开发一个应用程序 我打算具有以下结构 MAIN main container main routes NCF lazy loaded routes for it s subapps ACNP lazy loaded Component
  • 需要defaultReadObject()和defaultWriteObject()

    为什么需要写defaultReadObject and defaultWriteObject 作为第一个声明readObject ObjectInputStream o and writeObject ObjectOutputStream