Javaでは、メソッドを引数として渡すにはどうすればよいですか
Java では、メソッドを引数として渡すために、関数型インターフェースを使用できます。関数型インターフェースとは、抽象メソッドを 1 つだけ持つインターフェースのことです。ラムダ式またはメソッド参照によって、メソッドを関数型インターフェースのインスタンスとして別のメソッドに渡すことができます。
メソッドをパラメータとして渡す例を次に示します。
まず、関数を定義します。
@FunctionalInterface
interface MyInterface {
void myMethod(int a);
}
次に、関数を引数にとるメソッドを作成します。
void executeMethod(MyInterface myInterface, int a) {
myInterface.myMethod(a);
}
最後に、ラムダ式かメソッド参照を使ってメソッド引数に渡す:
public static void main(String[] args) {
executeMethod((a) -> System.out.println("执行方法:" + a), 10);
}
executeMethodメソッドは、引数にMyInterfaceインターフェースの実装を受け取り、その抽象メソッドを呼び出します。mainメソッドでは、渡された引数をプリントする匿名の実装をラムダ式で渡しています。