8/13 関数型インターフェース 続き

前回の記事で触れたIntConsumerやIntSupplierなどについて見ていきます。

Consumer型(IntConsumer)

// int型の引数を1つ受け取り処理を行う
// 戻り値はなし
IntConsumer func = (int i) -> { System.out.println(i); };
// メソッド名はaccept
func.accept(10); // => 10

Supplier型(IntSupplier)

// 引数にはなにも受け取らない
// int型の戻り値を返す
IntSupplier func = () -> { return 10; };
// メソッド名はgetAsInt
System.out.println(func.getAsInt()); // => 10

Predicate型(IntPredicate)

// int型の引数を1つ受け取り評価を行う
// boolean型の戻り値を返す
IntPredicate func = (int i) -> { return i > 5; };
// メソッド名はtest
System.out.println(func.test(10)); // => true

Function型(IntToDoubleFunction)

// int型の引数を1つ受け取り処理を行う
// double型の戻り値を返す
IntToDoubleFunction func = (int i) -> { return i / 2.0; };
// メソッド名はapplyAsDouble
System.out.println(func.applyAsDouble(5)); // => 2.5

Operator型(IntBinaryOperator)

// int型の引数を2つ受け取り処理を行う
// int型の戻り値を返す
IntBinaryOperator func = (int i, int j) -> { return i * j; };
// メソッド名はapplyAsInt
System.out.println(func.applyAsInt(2, 3)); // => 6
学習時間

Java 1h

本日までの合計 185.5h