我有以下代码,但出现 Sonar 违规错误:不允许分配参数
解决这个问题的最佳方法是什么?
/**
* @param lastAccessTime the lastAccessTime to set
*/
public void setLastAccessTime(Date lastAccessTime)
{
this.lastAccessTime = lastAccessTime == null ? null : new Date(lastAccessTime.getTime());
}
最佳答案
我怀疑这里发生了两件事之一:
1 - checkstyle 插件中有一个错误
2 - Sonar 分析的代码并不完全是您在此处发布的代码
我认为违规行为应适用于以下情况:
/**
* @param lastAccessTime the lastAccessTime to set
*/
public void setLastAccessTime(Date lastAccessTime)
{
lastAccessTime = lastAccessTime == null ? null : new Date(lastAccessTime.getTime());
}
因此,当您重新分配方法参数时,这是预期的,但在您的示例中并非如此,您将其分配给类字段,因此应该没问题。
尝试将方法参数更改为final
,看看是否仍然出现违规情况。
关于java - "disallowed assignment of parameters" Sonar 违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25665812/