2017-03-22 10 views
0

Java/Scalaのオブジェクトをディープコピーする必要があります。いくつかの調査をした後、シリアライゼーションが最も一般的な方法です。ただし、それはクラスを作ることも意味しますSerializableクラスをシリアライズ可能にすることの弱点は何ですか?

もしあれば、Java/Scalaでクラスをシリアライズ可能にすることの弱点は何ですか?

+0

1つの欠点は、実際に** **シリアライズ可能であることを保証することです。 – Wietlol

+2

*有効なJava、Item 74:シリアライズ可能な実装を賢明に* – shmosel

+0

これは興味深い質問です。しかし、StackOverflowの場合、この基本的/一般的な質問は話題にはなりません。 – sascha10000

答えて

0

潜在的な欠点は、すべてのクラスメンバーもシリアライズ可能である必要があることです。つまり、クラスメンバーに直列化できないデータ型を使用することはできません。

たとえば、APEX(Java for Salesforce)では、DOM.Documentクラスは直列化できないため、DOM.Document型のメンバーを持つ直列化可能なクラスを作成することはできません。

「transient」キーワードを使用するとこれを克服できますが、それには欠点もあります。

関連する問題