我需要在我的一个没有超类的对象中实现深度克隆.
处理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;
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是一个很好的解决方案,但我想把它扔到StackOverflow社区,看看是否还有其他任何我可以包含的见解.谢谢!
我正在寻找一些解释Java的教程Cloneable,但没有得到任何好的链接,而且Stack Overflow正变得越来越明显.
我想知道以下内容:
Cloneable意味着我们可以通过实现Cloneable接口来获得克隆或对象的副本.这样做的优点和缺点是什么?