問題一覧に戻る
上級高度な機能
問題97: 関数型インターフェース
関数型インターフェースはラムダ式の基盤です。Javaの関数型プログラミングで、テストにはPredicate、変換にはFunction、アクションにはConsumerの使い方を学びます。
import java.util.function.*;
public class Main {
public static void main(String[] args) {
// Predicate(判定)
<Integer> isEven = n -> n % 2 == 0;
System.out.println(isEven.(4));
// Function(変換)
<String, Integer> length = s -> s.length();
System.out.println(length.("Hello"));
// Consumer(消費)
<String> print = s -> System.out.println(s);
print.("Lambda!");
}
}