我無法理解從Java serialization documentation此評論:帶有serialVersionUID的數組類?
數組類不能聲明一個明確的serialVersionUID,因此它們總是具有默認的計算值,但匹配的serialVersionUID值的要求免除數組類。
也許我無法理解明顯的,但是,我還沒有想出爲什麼我需要這樣做?
我無法理解從Java serialization documentation此評論:帶有serialVersionUID的數組類?
數組類不能聲明一個明確的serialVersionUID,因此它們總是具有默認的計算值,但匹配的serialVersionUID值的要求免除數組類。
也許我無法理解明顯的,但是,我還沒有想出爲什麼我需要這樣做?
我認爲你的問題的答案是在serialVersionUID上閱讀。特別是,你經常想要在你的類上指定這個類,以便能夠處理類隨時間變化的事實。
您所指的評論是說你不能在數組上設置serialVersionUID。如果這是真的,並且serialVersionUID總是需要匹配,那麼你的數組會有嚴重的問題,並且在序列化方面會非常脆弱。爲了解決這個問題,語言設計者決定array(de)序列化會忽略serialVersionUID,從而避開無法定義的問題。
我還沒有想過爲什麼我需要做他的。
你不知道。你不能。沒有定義數組類的語法,更不用說他們的成員。
這也是爲什麼檢查它完全沒有意義。沒有什麼可以改變的班級。
謝謝。那麼,你是說包含數組變量的類,不能有serialVersionUID?我已經在不同的類中使用了int []數組和對象[]以及serialVersionUID,以便在套接字和數組之間進行基於對象的通信時,總是可以很好地在線上實現。可能是我無法清楚地理解你的觀點。是否可以粘貼示例代碼?我將不勝感激。 – Ashley
@Ashley,不完全。包含數組的類可以具有serialVersionUID,但是數組本身不能。 –
再次感謝。所以,它實際上是陣列本身。我認爲術語「數組類」有點混亂。感謝您解決這個問題。 – Ashley