我有以下代码,但出现了声纳违规错误: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-Checkstyle插件中存在错误
2-分析的声纳代码与您在此处发布的代码不完全相同
我认为在以下情况下应适用违规行为:
/**
* @param lastAccessTime the lastAccessTime to set
*/
public void setLastAccessTime(Date lastAccessTime)
{
lastAccessTime = lastAccessTime == null ? null : new Date(lastAccessTime.getTime());
}
因此,当您重新分配方法参数时,这是预期的,但在您的示例中却不是,而是将其分配给类字段,因此应该可以。
尝试将方法参数更改为
final
,看看是否仍然看到冲突。关于java - Sonar 违反“禁止分配参数”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25665812/