Java:哪些类必须实现可序列化

标签 java serialization

我目前正在尝试学习和理解如何将用户输入的数据存储为文件。

目前,我有“电影”和“系列”类以及“MediaLibrary”类。

现在的问题是:哪些类必须实现 Serializable?

我是否只需要在 MediaLibrary 中实现它(因为我将来自其他类的对象存储在 ArrayList 中)还是其他类也需要 Serializable?

感谢您的帮助。

列夫卡兹

编辑 1:是什么让我的问题与可能的重复问题不同? 在可能的重复中,这个人问,为什么不是所有对象都是可序列化的,因为他不想在每个类中都编写它。我想知道(并理解)序列化一个包含其他对象的类是否足够,或者是否所有对象都必须实现可序列化接口(interface)。

希望我的问题与 Ali Seyedi 建议的问题有所不同。

最佳答案

如果您希望它通过编写 implements Serializable 来工作,那么所有的类都需要是 Serializable,否则在尝试时会抛出异常序列化 ArrayList

可以通过在 writeObject 中编写 moviesseries Serializable 来避免制作这种方式不是将 moviesseries 对象写入 ObjectOutputStream,而是直接写入它们的字段。但是,您不应该采用这种方法,除非您有非常充分的理由这样做。

关于Java:哪些类必须实现可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611654/

相关文章:

java - 组织.jooq.impl.ParserException : Token ')' expected: [1:11] select (@i[*]:=@i+1)

java - JPA - 由于外键约束无法删除行

nhibernate - 我可以使用 NHibernate 以 xml 序列化形式存储对象吗?

python - XML 到/从 Python 字典

javascript - 将工作的 JavaScript 对象序列化为仅保留属性的 JSON?

python - 尝试使用 django Rest 框架序列化嵌套对象时出现完整性错误

java - 无法使用带有java的gson反序列化未知类型的数组

java - 微服务和maven结构

java - Openapi生成器不生成@XmlAttribute/@XmlElement注释

java - 如何在Java中定义复选框?