匿名クラスとラムダ式の共通点 匿名クラスで行っていた処理をラムダ式で書き換えられることから分かるように、ラムダ式も匿名クラスでの制限事項が適用されます。 扱える変数について 匿名クラスではクラスが持つクラス変数やstatic変数は実装する処理内で扱うことは可能です。しかし、メソッド内で定義されるローカル変数や匿名クラスが定義されているメソッドの引数は、finalでない限り参照はできても何らかの処理を行うことはできません。 同様に、ラムダ式でもクラス変数やstatic変数を扱えますが、finalでないローカル変数や引数は扱えません。 例えば次の関数型インターフェースがあったとします。 public class SampleClass { private int classField = 0; private static int staticField = 0; private void p