我现在需要深度复制 重写了clone方法  方法内容自己写的 public Object clone() {
        GoodsFinanceBalanceElement o = new GoodsFinanceBalanceElement();
        return BeansHelper.copyBeans(this, o);
    }
像这样一段代码当使用findbug检测会提示
A.clone() does not call super.clone()如果方法体改为super.clone(); 不在提示这个问题该怎么解决呢

解决方案 »

  1.   

    深copy是要调用super的clone啊,就这样吧。
      

  2.   

    findbug 的检测流程是这样的,检查是否调用了super.clone()
    如果你自己的copy可行的话可以忽略这个警告。
    建议使用深克隆,这样通行。 自己写的拷贝方法只有自己才知道,而且还写在clone方法里。容易引起误解。
    这对程序执行结果没有影响,但对看程序的其他人可能会产生误导。
      

  3.   

    重写clone方法,需要在类中实现Cloneable接口,楼主会不会是忘了实现这个借口了啊......
      

  4.   

    GoodsFinanceBalanceElement o = (GoodsFinanceBalanceElement) super.clone();
    return BeansHelper.copyBeans(this, o);
      

  5.   

    直接super.clone()就可以实现深拷贝了……