2011-12-19 13 views
2

我具有在序列化類這樣的部件:用於序列化的集合通用參數

private final Map<String, List<T>> categoryMap = Maps.newHashMap(); 

類具有以下式界。

<T extends Serializable> 

我使用的FindBugs來檢查我的代碼錯誤,它表明我,成員爲「不(保證是)序列化」。

+0

什麼是Maps.newHashMap()? – EJP 2011-12-19 23:35:06

+0

美麗番石榴文庫的實用功能:http://code.google.com/p/guava-libraries/ – 2011-12-20 09:03:10

回答

7

因爲你的序列化類包含以下成員

private final Map<String, List<T>> categoryMap 

這裏T可以是任何類Foo,這是不保證序列等警告/建議/眼前一亮

如果您期待它在所有的情況下都可以序列化,而不是使它成爲可序列化的

List<? extends Serializable> 

如果你根本不想分散該字段只需標記transient

+0

嘿,我忘,我已爲類型界用於容納構件的類。這不夠嗎? – 2011-12-19 12:47:57

+1

It does <!-----------------> – 2011-12-19 12:48:57

+0

Findbugs仍然列出它爲錯誤! – 2011-12-19 13:24:18