如果我用Java版本序列化一個Map(或List),會發生什麼情況,並且我試圖用serialVersionUID更改的其他java版本反序列化它?我想它會失敗。Java Map/List序列化/反序列化與不同的Java版本?
如果你爲別人創建一個lib,使用什麼樣的序列化對象的首選方式,使用Java對象如Map,List或使用自制對象的數組?
例如 List<MyObject>
或MyObject[]
? Map<String, MyObject>
或MyObject2[]
(MyObject2包含密鑰和MyObject)?
如果您撰寫的類,您可以控制'serialVersionUID'領域。這不會因爲人們使用不同的Java版本而改變。你是否將這些概念混淆在一起? – 2014-09-29 08:30:36
是的,我創建MyObject類,爲此我可以控制serialVersionUID,但我無法控制List或Map的serialVersionUID,所以我想知道是不是更好地使用我的自定義對象而不是使用List或Map? – telebog 2014-09-29 08:41:59
由於JDK的Map *實現的serialVersionUID在內存中沒有發生變化,因此查看這個問題的實際內容是diffixult。 – EJP 2014-09-29 10:23:25