How to use a return statement in lambda expression in Java?



A return statement is not an expression in a lambda expression. We must enclose statements in braces ({}). However, we do not have to enclose a void method invocation in braces. The return type of a method in which lambda expression used in a return statement must be a functional interface.

Example 1

public class LambdaReturnTest1 {    interface Addition {       int add(int a, int b);    }    public static Addition getAddition() {       return (a, b) -> a + b; // lambda expression return statement    }    public static void main(String args[]) {       System.out.println("The addition of a and b is: " + getAddition().add(20, 50));    } }

Output

The addition of a and b is: 70 


Example 2

public class LambdaReturnTest2 {    public static void main(String args[]) {       Thread th = new Thread(getRunnable());       th.run();    }    public static Runnable getRunnable() {       return() -> {    // lambda expression return statement          System.out.println("Lambda Expression Return Statement");       };    } }

Output

Lambda Expression Return Statement
Updated on: 2020-07-11T07:31:48+05:30

12K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements