假设我的类 MyClass
有 10 个变量。通过用 Serialized
标记类,我们序列化了所有 10 个变量。
我的问题是有没有办法只序列化其中一些变量,比如说 5 个?
我知道可以通过将变量标记为transient
来完成。但我想知道除了使用 transient
关键字之外是否还有其他方法可以做到这一点。
最佳答案
如果你的类实现了 Externalizable
接口(interface),那么您将可以更好地控制对象的序列化方式。
请注意,与 Serialized
不同,Externalizable
接口(interface)不是标记接口(interface),您需要实现 readExternal()
和 writeExternal()
方法,您实际上可以在其中以编程方式选择要序列化的类成员以及如何完成反序列化。
更多信息:
关于java - 使用可序列化接口(interface)可以进行选择性序列化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31807152/