Java检查样式:最终参数引用变量赋值

Ank*_*rma 2 java checkstyle

我正在努力解决Java项目中的Checkstyle警告.

假设这是我的方法:

public SomeObject someObjectBehavior(SomeObject oldSomeObject,
    SomeObject newSomeObject) {

    if(oldSomeObject == null) { 
        oldSomeObject = newSomeObject; 
    } 
}
Run Code Online (Sandbox Code Playgroud)

当我启用Checkstyle时,它会通知

参数oldSomeObject应该是final

参数newSomeObject应该是final

当我转换这两个参数时:

public SomeObject someObjectBehavior(final SomeObject oldSomeObject,
    final SomeObject newSomeObject) {

    if(oldSomeObject == null) {
        oldSomeObject = newSomeObject;  //Assignment operation
    } 
}
Run Code Online (Sandbox Code Playgroud)

因此,现在无法进行赋值操作,Java代码中存在错误

无法分配最终的局部变量oldSomeObject.它必须为空白且不使用复合赋值.

如果你们中的任何一个人遇到过这种情况,那么请帮忙,因为我正试图解决所有的Checkstyle问题.

谢谢

问候

Ankur Sharma

Bla*_*sui 6

重新分配参数被认为是不好的风格.您应该创建一个新的局部变量.