松耦合:当我们需要可克隆参数时,我们可以使用接口吗?

时间:2010-01-04 00:43:44

标签: java interface clone loose-coupling pmd

正如我PMD所建议的那样,我想通过使用接口而不是实现来减少合作......

在这种情况下,知道我需要一个可克隆的参数,我可以克服clone()接口中的clone Dilemma(无Cloneable方法吗?? ??

public MyConstructor(ArrayList<E> myParam) {
    this.myAttribute = (ArrayList<E>) myParam.clone();
}

2 个答案:

答案 0 :(得分:3)

你不需要克隆那种方式;我会这样做:

public MyConstructor(List<E> myParam) 
{
    this.myAttribute = new ArrayList<E>(myParam);
}

答案 1 :(得分:1)

我不太了解PMD,但这是一个浅层副本,而不是深层副本。