我正在解决Java项目中的Checkstyle警告。

假设这是我的方法:

public SomeObject someObjectBehavior(SomeObject oldSomeObject,
    SomeObject newSomeObject) {

    if(oldSomeObject == null) {
        oldSomeObject = newSomeObject;
    }
}


当我启用Checkstyle时,它会通知


参数oldSomeObject应该是最终的

参数newSomeObject应该是最终的


当我像这样转换两个参数时:

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

    if(oldSomeObject == null) {
        oldSomeObject = newSomeObject;  //Assignment operation
    }
}


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


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


如果您遇到了任何一个问题,请帮忙,因为我正在尝试解决所有Checkstyle问题。

谢谢

问候

安库尔·夏尔马

最佳答案

重新分配参数被认为是错误的样式。您应该创建一个新的局部变量。

关于java - Java检查样式:最终参数引用变量分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20973664/

10-10 13:25