2017-03-22 32 views
0

想深入複製Java/Scala中的對象。在做了一些研究之後,似乎序列化是最流行的方式。但是,這也意味着要使類可序列化的製作類可序列化有什麼缺點?

什麼,如果有的話,是在Java/Scala中創建一個類Serializable的缺點?

+0

一個缺點是,你實際上應該*確保它**是可串行化的...又名,沒有反覆出現的指針。 – Wietlol

+2

請參閱* Effective Java,Item 74:明智地實現序列化* – shmosel

+0

這是一個有趣的問題。但對於StackOverflow,這個基本的/一般的問題是無關緊要的。 – sascha10000

回答

0

一個潛在的缺點是您的所有類成員也需要可序列化。換句話說,您將無法爲您的班級成員使用任何不可序列化的數據類型。

例如,在APEX(Java for Salesforce)中,DOM.Document類不是可序列化的,因此無法生成具有DOM.Document類型成員的可序列化類。

您可以通過使用'transient'關鍵字來克服這一點,但這也有缺點。