Guava SetMultimap不可序列化(由于不可序列化的WrappedSet)

Mar*_*tin 2 java guava

我经常使用java序列化,这对于存储完整的对象层次结构非常有用.

在尝试序列化SetMultimap时,我得到一个异常,说AbstractMultimap.WrappedSet不可序列化.

番石榴用户如何解决这个问题?

提前致谢,

Col*_*inD 7

的元素的视图(例如从get方法,asMap视图等返回的集合)是故意不可序列化的.但是,由于这种情况,SetMultimap实现不可序列化.SetMultimap该Guava提供的所有实现实际上都是可序列化的......它只是部分视图集合而不是.

如果需要序列化其中一个集合,则应将其显式复制到普通集合:

Set<Foo> foo = Sets.newHashSet(multimap.get(someKey));
Run Code Online (Sandbox Code Playgroud)