2013-08-01 30 views
0

https://code.google.com/p/google-collections/source/browse/trunk/src/com/google/common/collect/AbstractMultimap.java?r=117爲什麼google-collections AbstractMultimap類使用transient關鍵字作爲成員變量?

AbstractMultimap是implements Serializable。

在我眼中,實際數據被保存到map和totalSize變量中。

但是這兩個變量都用transient關鍵字聲明。

這個事實意味着沒有序列化的權利?

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

回答

2

這一事實意味着沒有序列化正確:這是由具體子類,它負責管理序列化提供?

這意味着,這些字段不是由默認序列化機制序列化。該州實際上是在子類的writeObject()方法中被序列化的。

2

這是因爲AbstractMultimap類實際上並不包含後盾Map實施;

For serialization to work, the subclass must specify explicit 
readObject and writeObject methods. 
相關問題