<JavaLearn/>
ラムダ式 レッスン6

カスタム関数型IF

独自の @FunctionalInterface を定義して活用する

カスタム関数型インターフェースの作成

標準の関数型インターフェースで表現しきれない場合、独自の関数型インターフェースを定義できます。@FunctionalInterface アノテーションを付けると、 抽象メソッドが1つであることをコンパイラが検証してくれます。 ドメイン固有の操作を型安全に表現する場合に有用です。

  • 抽象メソッドは必ず1つだけ
  • デフォルトメソッドや静的メソッドは複数持てる
  • @FunctionalInterface は省略可能だが付けることを推奨
  • ジェネリクスを使って汎用的に定義できる

基本的なカスタム関数型IF

2つの引数を受け取り、結果を返すカスタムインターフェースを作成します。@FunctionalInterface で安全性を確保します。

Javaエディタ

ジェネリクスを使った関数型IF

型パラメータを使うことで、さまざまな型に対応できる汎用的な関数型インターフェースを定義できます。

Javaエディタ

デフォルトメソッドとチェーン

関数型インターフェースにデフォルトメソッドを追加することで、 メソッドチェーンのような合成パターンを実現できます。

Javaエディタ