Java program to pass lambda expression as a method argument
In Java, you can pass lambda expressions as method arguments by defining the method parameter as a functional interface.
Here's an example program that demonstrates how to pass a lambda expression as a method argument:
public class LambdaAsArgument { public static void main(String[] args) { // Define a lambda expression MyLambda myLambda = (String s) -> System.out.println(s); // Pass the lambda expression as an argument to the method performAction(myLambda, "Hello World!"); } // Define a functional interface interface MyLambda { void performAction(String s); } // Define a method that takes a lambda expression as an argument public static void performAction(MyLambda lambda, String s) { lambda.performAction(s); } }
In this program, we define a functional interface MyLambda
that has a single method performAction
that takes a String
parameter. We then define a lambda expression that implements this interface and prints the input string to the console.
Next, we define a method called performAction
that takes a lambda expression of type MyLambda
as its first argument and a String
as its second argument. Inside the method, we call the performAction
method of the lambda expression with the input string as its argument.
Finally, we call the performAction
method with the lambda expression and a string as arguments.
When you run the program, the output will be:
Hello World!
As you can see, the program successfully passes the lambda expression as a method argument and executes it inside the method.