匿名クラスの新記法

匿名クラスは、ラムダ式を利用することでシンプルに実装できる。

List<String> members = Arrays.asList("tomie", "fukasawa", "higashi", "ato");
members.replaceAll(new UnaryOperator<String>() {
    public String apply(String str) {
        return str.toUpperCase();
    }
});
members.replaceAll( (String str) -> {
    return str.toUpperCase();
});

replaceAll()メソッドの引数内で、

を同時に行っている。

関数型インターフェースは抽象メソッドが一つしかないため、実装するメソッド名applyはわざわざ書かなくてもラムダ式が補完してくれる。