まず、カスタム関数インタフェースの定義方法について説明します。カスタム関数インタフェースは、@FunctionalInterfaceアノテーションを使用して定義されます。このアノテーションは、インタフェースが関数型インタフェースであることを示します。関数型インタフェースは、1つの抽象メソッドを持つインタフェースのことです。
例えば、以下のようなカスタム関数インタフェースを定義することができます。
@FunctionalInterface
interface MyFunction {
void performAction(int number);
}
この例では、MyFunctionという名前のカスタム関数インタフェースを定義しています。このインタフェースは、performActionという1つの抽象メソッドを持ち、int型の引数を受け取ります。
カスタム関数インタフェースは、ラムダ式やメソッド参照と組み合わせて使用できます。以下に、いくつかの使用例を示します。
ラムダ式を使用した例:
MyFunction function = (number) -> {
System.out.println("Performing action with number: " + number);
};
function.performAction(10);
この例では、MyFunctionインタフェースの実装をラムダ式で行っています。performActionメソッドの処理は、引数として渡された数値を表示するだけです。
メソッド参照を使用した例:
class ActionPerformer {
public static void perform(int number) {
System.out.println("Performing action with number: " + number);
}
}
MyFunction function = ActionPerformer::perform;
function.performAction(20);
この例では、ActionPerformerクラスのperformメソッドをMyFunctionインタフェースの実装として使用しています。performActionメソッドの呼び出し時に、performメソッドが実行されます。
カスタム関数インタフェースは、コールバックや並列処理など、さまざまなシナリオで活用することができます。また、Java 8以降のバージョンでは、多くの組み込み関数インタフェースも提供されています。
この記事では、カスタム関数インタフェースの基本的な使い方といくつかのコード例を紹介しました。これらの例を参考にして、自分のプログラムでカスタム関数インタフェースを活用してみてください。