如果我的班级有一个可序列化的班级,该怎么办[关闭]

问题描述 投票:-2回答:1
如果我的不可序列化的类包含一个可序列化的类,会发生什么?它使我的课程可序列化吗?
java serializable
1个回答
0
投票
是的,如果您具有可序列化的非static内部类,则外部类也将被强制序列化。如果序列化成功,则可能会写入比预期多得多的数据,否则,如果无法进行序列化,则会导致运行时错误。

建议您将可序列化的内部类设为static,以避免出现此问题。例如:

public class Pomegranate { // ... public static class Seed implements Serializable { // ... } }

有关更多信息或可序列化的类,请参见here;有关可序列化的内部类,请参见here

您还可以考虑在不可序列化类的内部实现非静态可序列化的NotSerializableError的可能性,如突出显示的here

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.