在 Java 5 之前,没有注释。因此,您无法将元数据添加到类中。
要将类标记为可序列化,您必须实现Serializable接口(就是一个标记)并transient
在需要时使用更多关键字将字段标记为不可序列化,例如:
public class MyClass implements Serializable {
...
private transient Bla field;
...
}
现在您理论上可以使用注释(这是它们的完美用途)并具有:
@Serializable
public class MyClass {
...
@Transient
private Bla field;
...
}
但是接口和关键字并没有被弃用,Java 5 中也没有添加注释来替换它们。
这个决定保留接口和关键字的考虑是什么?
当然存在与 Java 5 之前代码的兼容性问题,但在某些时候会结束(例如,与泛型的新特性有关,JLS 指定Java 编程语言的未来版本可能不允许使用原始类型)。那么为什么不也为序列化注解做好准备呢?
有什么想法吗?(虽然我更喜欢具体的参考资料:D,但我找不到)