超声波违反"不允许分配参数"

时间:2014-09-04 12:40:44

标签: java sonarqube

我有以下代码,我收到了声纳违规错误:disallowed assignment of parameters 解决这个问题的最佳方法是什么?

   /**
     * @param lastAccessTime the lastAccessTime to set
     */
    public void setLastAccessTime(Date lastAccessTime)
    {
        this.lastAccessTime = lastAccessTime == null ? null : new Date(lastAccessTime.getTime());
    }

1 个答案:

答案 0 :(得分:2)

我怀疑这里发生了两件事之一:

1 - checkstyle插件中有一个错误

2 - 分析的代码声纳不完全是您在此处发布的代码

我认为违规行为应适用于以下情况:

    /**
     * @param lastAccessTime the lastAccessTime to set
     */
    public void setLastAccessTime(Date lastAccessTime)
    {
        lastAccessTime = lastAccessTime == null ? null : new Date(lastAccessTime.getTime());
    }

因此,当您重新分配方法参数时,它会被预期,但在您的示例中,您不是,您将它分配给类字段,因此它应该没问题。

尝试将方法参数更改为final,看看是否仍然看到违规行为。