列化对象中的HashMap、HashSet或HashTable等集合不能包含对象自身的引用

如果一个被序列化的对象中,包含有HashMap、HashSet或HashTable集合,则这些集合中不允许保存当前被序列化对象的直接或间接引用。因为,这些集合类型在反序列化的时候,会调用到当前序列化对象的hashCode方法,而此时(序列化对象还未完全加载)计算出的hashCode有可能不正确,从而导致对象放置位置错误,破坏反序列化的实例

posted @ 2022-08-01 16:26  車輪の唄  阅读(20)  评论(0编辑  收藏  举报  来源