數據加載中……
          SerialVersionID問題
          (一些對象的狀態需要保存到磁盤或數據庫中時,需要實現Serializable接口)
          結論:在實現Serializable接口時,IDE一般會提醒你設置一個SerialVersionID,這樣做的好處是方便在不同編譯器之間代碼的移植。編譯器在讀取Serial對象時,會比較source與target的SerialVersionID是否一致,如果一致會產生InvalidClassException。
          在Eclipse中忽略該情況操作方法:Window-->Preferences-->Java-->Compiler-->Errors/Warnings-->Potential programming problems
          問題:SerialVersionID是否在不同的類中有不同的值?
          回答:不需要。因為SerialVersionID本身是static final,是全局的,而且一般都是針對當前類,所以一般都是private。編譯器在DeSerializable的時候,對象都是當前類,不需要不同類設置不同值。
          問題:不顯示聲明SerialVersionID是錯的嗎?
          回答:不是。編譯器有自己的生成SerialVersionID的規則,但是不同編譯器的規則又是不一致的,這樣就會造成已Serial對象SerialVersionID與當前編譯器DeSerial出來的SerialVersionID不一致,產生Exception。盡可能將所有可以序列化類都顯示聲明SerialVersionID。

          posted on 2008-04-10 10:08 牛浪de流 閱讀(516) 評論(0)  編輯  收藏 所屬分類: 爪哇學習

          主站蜘蛛池模板: 社会| 车致| 青冈县| 保康县| 长海县| 佛教| 凤凰县| 阳江市| 乐陵市| 米脂县| 桃源县| 繁峙县| 阆中市| 桦甸市| 扬州市| 綦江县| 石泉县| 阿克陶县| 平山县| 逊克县| 铅山县| 汝南县| 忻城县| 平乐县| 崇仁县| 蛟河市| 三穗县| 大方县| 涡阳县| 怀远县| 伊吾县| 长沙县| 栖霞市| 秦安县| 长宁县| 南投市| 周口市| 北辰区| 来凤县| 剑阁县| 桃园县|