メソッド引数をfinalで宣言


見ての通り、引数への代入を行えなくする。

public class Sample {
    public static void main(String args[]) {
        Sample sample = new Sample();
        sample.test("AAA");
    }

    public void test(final String s) {
        s = "XXX";
        System.out.println(s);
    }
}

結果:コンパイルエラー

『リファクタリング』の「パラメータへの代入の除去」を読んでいても思ったけど、この辺り普段の開発(PHP)ではあまり意識していないから気をつけないと……。