番石榴 - 可以序列化多图吗?

Pri*_*esh 6 serialization multimap guava

我正在看这个ArrayListMultiMap实现Serializable接口的API .这是否意味着我可以序列化这个对象?是否所有Multimap对象都已序列化?

maa*_*nus 9

其含义Serializable始终相同:如果对象不可序列化,则无法序列化.如果是,它可能工作与否......尤其是在集合(包括地图和多图)的情况下,它取决于它们的内容.

例如,您可以确定序列ArrayList<String>化为ArrayList.class可序列化,因此列表中的每个成员都是如此.OTOH尝试序列化ArrayList<Object>可能会或可能不会工作:如果所有包含的对象都是例如字符串,它将起作用.如果任何成员不可序列化,您将获得异常.

这是否意味着我可以序列化这个对象?

如果所有键和值都是可序列化的,则可以.

所有multiMap对象都可序列化吗?

不,接口Multimap没有扩展Serializable,因此可能存在不可序列化的实现.实际上,你可以通过例如获得这样的实例Multimaps.filterEntries.