Мне нужно реализовать глубокий клон в одном из моих объектов, у которого нет суперкласса.
Каков наилучший способ обработки отмеченного 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, чтобы узнать, есть ли другие идеи, которые я могу включить. Спасибо!