Java 如何直接修复PMD冲突?

Java 如何直接修复PMD冲突?,java,pmd,Java,Pmd,我有一个直接生成PMD冲突阵列的方法: public void setFoo(Object[] foo) { this.foo = foo; } 这是可以理解的-我需要克隆阵列。因此,我将其替换为: public void setFoo(Object[] foo) { if (foo == null) { this.foo = null; } else { this.foo = new Object[foo.length];

我有一个直接生成PMD冲突阵列的方法:

public void setFoo(Object[] foo) {
    this.foo = foo;
}
这是可以理解的-我需要克隆阵列。因此,我将其替换为:

public void setFoo(Object[] foo) {
    if (foo == null) {
        this.foo = null;
    } else {
        this.foo = new Object[foo.length];
        System.arraycopy(foo, 0, this.foo, 0, foo.length);
    }
}
然而,我仍然得到了Arrayistored直接违反

我真的不知道这是为什么。也许课堂上的某些东西仍然被错误地拾取


我知道我可以压制这个警告,但这似乎不是什么特例。修复此冲突的正确方法是什么?

只需调用
foo.clone()
。还有,是相关的。@Kidburla,请将此作为错误提交给PMD,他们应该修复它。