Я понимаю, как работает клонирование Java, и аргументы против его использования. Позволяет сказать, что я все равно мертв, используя его.
Для удобства я хотел бы написать метод clone для класса Foo следующим образом:
@Override
public Foo clone(){
Foo f = (Foo)super.clone();
//Replace mutable fields
return f;
}
Насколько я могу судить, это было бы безопасно. Однако я заметил, что классы Cloneable в API не делают этого. Есть ли причина для этого, и это плохой стиль?