我有以下代码,我收到了声纳违规错误:disallowed assignment of parameters
解决这个问题的最佳方法是什么?
/**
* @param lastAccessTime the lastAccessTime to set
*/
public void setLastAccessTime(Date lastAccessTime)
{
this.lastAccessTime = lastAccessTime == null ? null : new Date(lastAccessTime.getTime());
}
答案 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
,看看是否仍然看到违规行为。