在我使用writeReplace
和readResolve
的几个地方,有时会变得非常冗长。我想知道使用Externalizable
是否会更好(实际上,我不这么认为,因为我的对象大多是不可变的,但我可能是错的)。你能给我一些使用Externalizable
的好例子吗?
答案 0 :(得分:1)
我看不出它们是如何可比的。 writeReplace()等为你想要的情况写一个代理对象; Externalizable接管当前对象及其基础对象的整个序列化。
您使用writeReplace()的动机是什么?
答案 1 :(得分:-2)
我被告知Externalizable
比默认序列化快得多,因为它消除了反射开销。使用writeReplace
和readResolve
也可以使用I recently realized来解决使用最终字段的问题。