我会定期看到具有以下结构的Java类:
class MyClass implements Serializable {
private static final long serialVersionUID = 1L;
// ...
private void writeObject(final java.io.ObjectOutputStream s) throws IOException {
s.defaultWriteObject();
}
private void readObject(final java.io.ObjectInputStream s) throws IOException, ClassNotFoundException {
s.defaultReadObject();
}
}
据我了解,对于默认序列化,您只需要声明实现
serializable
接口并定义serialVersionUID
即可。是否有必要声明仅具有默认实现的写入/读取方法?我已经厌倦了关于代码重复的分析器警告。我没有看到任何真正清晰的指南来介绍这个主题。所有内容要么过时了,要么非常主观。