0

https://code.google.com/p/google-collections/source/browse/trunk/src/com/google/common/collect/AbstractMultimap.java?r=117

AbstractMultimap 实现了可序列化。

在我看来,实际数据被保存到 map 和 totalSize 变量中。

但是这两个变量都是用瞬态关键字声明的。

这个事实意味着没有序列化对吗?

private transient Map<K, Collection<V>> map;
private transient int totalSize; 
4

2 回答 2

2

那是因为AbstractMultimap该类实际上并不包含支持Map实现。这是由负责管理序列化的具体子类提供的:

For serialization to work, the subclass must specify explicit
readObject and writeObject methods.
于 2013-08-01T03:08:54.550 回答
2

这个事实意味着没有序列化对吗?

不。

这意味着这些字段没有被默认的序列化机制序列化。状态实际上是在writeObject()子类的方法 ... 中序列化的。

于 2013-08-01T03:09:58.743 回答