我正在查看此 API ArrayListMultiMap
它实现了 Serializable
界面。这是否意味着我可以序列化这个对象?是否所有 Multimap 对象都已序列化?
最佳答案
Serializable
的含义总是一样的:如果一个对象是不可序列化的,它就不能被序列化。如果是,它可能工作或不工作......特别是在集合(包括 map 和多 map )的情况下,这取决于它们的内容。
举个例子,你肯定可以序列化 ArrayList<String>
如ArrayList.class
是可序列化的,列表的每个成员也是可序列化的。 OTOH 尝试序列化 ArrayList<Object>
可能工作也可能不工作:如果所有包含的对象都是例如字符串,它会工作。如果任何成员不可序列化,您将收到异常。
Does it mean I can serialize this object?
如果所有键和值都是可序列化的,则可以。
Are all multiMap object serializable?
不,接口(interface)
Multimap
不扩展 Serializable
,因此可能存在不可序列化的实现。事实上,您可以通过例如获得这样的实例。 Multimaps.filterEntries
.
关于serialization - Guava - 可以序列化 Multimap 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863616/