スーパークラスを持たないオブジェクトの1つにディープクローンを実装する必要があります。
CloneNotSupportedException
スーパークラス(Object
)によってスローされたチェックを処理する最良の方法は何ですか?
同僚から、次のように処理するようにアドバイスされました。
@Override
public MyObject clone()
{
MyObject foo;
try
{
foo = (MyObject) super.clone();
}
catch (CloneNotSupportedException e)
{
throw new Error();
}
// Deep clone member fields here
return foo;
}
これは私には良い解決策のようですが、StackOverflowコミュニティにそれを投げ入れて、他に含めることができる洞察があるかどうかを確認したいと思いました。ありがとう!
Cloneable
スローする方が表現力があります。AssertionError
Error