如何修复PMD违规ArrayIsStoredDirectly?

时间:2015-09-16 19:21:34

标签: java pmd

我有一个生成PMD违规ArrayIsStoredDirectly的方法:

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);
    }
}

但是,我仍然违反了ArrayIsStoredDirectly!

我真的不确定为什么会这样。也许ArrayIsStoredDirectly课程中的某些内容仍然被错误地选中了?

我知道我可以压制警告,但这似乎不是一个特殊情况。修复此违规行为的正确方法是什么?

0 个答案:

没有答案