プライベート メソッドに渡されるプライベート final インスタンス変数がある場合、パラメーターとして渡されるときに関数で final 修飾子を使用して再宣言しますか? 例えば:
public class GraphAlgo {
private final source;
public GraphAlgo(source) {
this.source = source
}
public void runAlgo() {
runAlgoUsingSource(source);
}
private runAlgoUsingSource(final source) { // here final is declared on a final field
//-- whatever.
}
}
既に final になっているパラメーターに対して final を宣言しないでください。アドバンテージ。final 修飾子の重複を防止します。 欠点: 明示的な画像を提供しません。たとえば、GraphAlgo が 10000 行のコードの場合、関数 'runAlgoUsingSource' を見るだけでは、'source' が final であるかどうかを理解するための視覚的なアクセスがありません。
この場合の一般的な規則は何ですか?