gpt4 book ai didi

java - 为什么我不能在没有无参数构造函数的情况下序列化一个对象,即使它实现了 Serializable?

转载 作者:行者123 更新时间:2023-11-30 09:10:53 25 4
gpt4 key购买 nike

我正在尝试使用 Titan 图形数据库序列化 UUID,但我相信我不能,因为根据 Serializable 的定义,java.util.UUID 无法提供无参数构造函数。

(参见 http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html 的顶部)

鉴于 java.util.UUID 声称实现了 Serializable,这里发生了什么?这只是一个无法为向后兼容而消除的历史错误,还是这种奇怪(对我来说,令人讨厌)的选择有特定的技术原因?

更新:根据回答,UUID 实际上是 可序列化的,我误读了无参数构造函数规则,该规则很微妙,实际上不需要在同一类中使用无参数构造函数。我无法序列化我的原因是 Titan(或其依赖项)添加了更严格的无参数 declared 构造函数规则——不是核心 Java。我很困惑是谁在强加这条规则,Java 还是 Titan。

最佳答案

Serializable 类不需要无参数构造函数。它最近的不可序列化基类。

您误读了规范。

关于java - 为什么我不能在没有无参数构造函数的情况下序列化一个对象,即使它实现了 Serializable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com