serialization - Guava - 可以序列化 Multimap 吗?

标签 serialization guava multimap

我正在查看此 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/

相关文章:

logging - 使用 JSON 格式的 log4j 记录 json 字符串消息,而不用引号破坏格式

ruby - Ruby 的 Marshall 格式架构和 Ruby-version 是否独立?

java - 使用 Guava 高效地转换通用数组

C++ multimap 查找失败

c++ - 在 multimap 中为一个键找到两个最大值

c++ - 为什么在将文本文件 C++ 中的单词多重映射到行时会获得额外的索引值?

c++ - boost 反序列化优化?

java - 序列化的时候能找到 "referring/parent object(s)"吗?

java - 立即将函数应用于所有元素而不是每个单个元素?

java - 将集合转换为 map