2011-11-11 42 views
2

我正在實現擴展Serializable接口的更多類。 我明白,爲serialVersionUID提一個值是很好的。用於Serializable的SerialVersionUID

private static final long serialVersionUID = 1024L; 

所以,因爲我將使用所有這些類,我應該給出的serialVersionUID相同的數值爲每個類,或者相反,他們有什麼不同?

謝謝。

回答

4

它們不必是不同的,也不一定是相同的。它僅用於確保某個序列化對象可以被該類反序列化。基本上,如果你改變了序列化類的代碼,你也應該改變這個值。

3

serialVersionUID對於一個類與絕對不相關的類是完全沒有關係的。一個推論是,一個類的serialVersionUID絕對沒有效果不同類的。

因此,如果您願意,您可以對所有類使用相同的類,並且在任何類更改時批量更新它們。你應該明白它會這樣做的含義。

2

關鍵是如果您稍後在使用原始序列化表格incompatible更改某個類時必須更改serialVersionUID。除此之外,您可以使用該字段的任何值。

相關問題