2010年9月26日 星期日

Java Serializable (String object is serialized)

Java中,什麽時候不能用Serializable?

舉個例子,你編寫了一款遊戲,保存記錄時把所有狀態一一保存非常麻煩,這時就可以使用Serializable(序列化接口),它的作用是可以將一個對象實例序列化,序列化後你可以選擇將它保存在你需要的位置。相對的,讀取後生成的對象所有屬性(除了設置為瞬時值的屬性)將和原對象的屬性相同(只是內存地址不同)。這樣可以方便的將一個java對象寫入到磁盤中,保存該對象的所有狀態!值得註意的是序列化的對象中包含的屬性和其他對象都需要實現序列化接口,不然無法正常序列化!在hibernate裡,並非所有的實體類必須實現序列化接口,因為在hibernate中我們通常是將基本類型的數值映射為數據庫中的字段。而基礎類型都實現了序列化接口(String也實現了)。所以,只有在想將一個對象完整存進數據庫(存儲為二進制碼),而不是將對象的屬性分別存進數據庫,讀取時再重新構建的話,就可以不用實現序列化接口。

沒有留言:

張貼留言