为什么不在被覆盖的 .clone 中投射?
我了解Java克隆的工作原理以及反对使用它的论据。假设我无论如何都要使用它。
为了方便起见,我想为类 Foo 编写一个克隆方法,如下所示:
@Override
public Foo clone(){
Foo f = (Foo)super.clone();
//Replace mutable fields
return f;
}
据我所知,这将是安全的。但是,我注意到API中的可克隆类不这样做。这是有原因的吗,这是不好的风格吗?