我目前正在尝试学习和理解如何将用户输入的数据存储为文件。
目前,我有“电影”和“系列”类以及“MediaLibrary”类。
现在的问题是:哪些类必须实现 Serializable?
我是否只需要在 MediaLibrary 中实现它(因为我将来自其他类的对象存储在 ArrayList 中)还是其他类也需要 Serializable?
感谢您的帮助。
列夫卡兹
编辑 1:是什么让我的问题与可能的重复问题不同? 在可能的重复中,这个人问,为什么不是所有对象都是可序列化的,因为他不想在每个类中都编写它。我想知道(并理解)序列化一个包含其他对象的类是否足够,或者是否所有对象都必须实现可序列化接口(interface)。
希望我的问题与 Ali Seyedi 建议的问题有所不同。
最佳答案
如果您希望它通过编写 implements Serializable
来工作,那么所有的类都需要是 Serializable
,否则在尝试时会抛出异常序列化 ArrayList
。
您可以通过在 writeObject
中编写 movies
和 series
Serializable
来避免制作这种方式不是将 movies
和 series
对象写入 ObjectOutputStream
,而是直接写入它们的字段。但是,您不应该采用这种方法,除非您有非常充分的理由这样做。
关于Java:哪些类必须实现可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611654/