static
内部类,则外部类也将被强制序列化。如果序列化成功,则可能会写入比预期多得多的数据,否则,如果无法进行序列化,则会导致运行时错误。建议您将可序列化的内部类设为static
,以避免出现此问题。例如:
public class Pomegranate {
// ...
public static class Seed implements Serializable {
// ...
}
}
有关更多信息或可序列化的类,请参见here;有关可序列化的内部类,请参见here。您还可以考虑在不可序列化类的内部实现非静态可序列化的
NotSerializableError
的可能性,如突出显示的here。