2014-09-04 2 views
1

У меня есть следующий код, и у меня есть ошибка нарушения сонара: disallowed assignment of parameters Каков наилучший способ исправить это?Нарушение сонара при «запрещенном назначении параметров»

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

ответ

2

Я подозреваю, что один из 2-х вещей происходит здесь:

1 - Существует ошибка в Checkstyle плагин

2 - Код гидролокатора анализируемой не совсем код, который вы размещены здесь

Я считаю, что нарушение должно применяться в следующих случаях:

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

Итак, когда вы переназначаете параметр метода, этого следовало ожидать, но в вашем примере вы этого не сделали, вы назначаете его в поле класса, чтобы оно было в порядке.

Попробуйте изменить параметр метода на final и убедитесь, что вы все еще видите нарушение.