A lambda expression can have zero or any number of arguments. Let's discuss different ways we can write lambda expressions.
Java Lambda Expression Example: No Parameter
Please refer to the comments in the code, which indicates that code with Lambda expression and without Lambda expression.
interface Sayable {
public String say();
}
public class JLEExampleNoParameter {
public static void main(String[] args) {
// without lambda expression
Sayable sayable = new Sayable() {
@Override
public String say() {
return "Return something ..";
}
};
sayable.say();
// with lambda expression
Sayable withLambda = () -> {
return "Return something ..";
};
withLambda.say();
}
}
Java Lambda Expression Example: Single Parameter
Please refer to the comments in the code, which indicates that code with Lambda expression and without Lambda expression.
interface Printable {
void print(String msg);
}
public class JLEExampleSingleParameter {
public static void main(String[] args) {
// without lambda expression
Printable printable = new Printable() {
@Override
public void print(String msg) {
System.out.println(msg);
}
};
printable.print(" Print message to console....");
// with lambda expression
Printable withLambda = (msg) -> System.out.println(msg);
withLambda.print(" Print message to console....");
}
}
Output :
Print message to console....
Print message to console....
Java Lambda Expression Example: Multiple Parameters
Please refer to the comments in the code, which indicates that code with Lambda expression and without Lambda expression.
interface Addable{
int add(int a,int b);
}
public class JLEExampleMultipleParameters {
public static void main(String[] args) {
// without lambda expression
Addable addable = new Addable() {
@Override
public int add(int a, int b) {
return a + b;
}
};
addable.add(10, 20);
// with lambda expression
// Multiple parameters in lambda expression
Addable withLambda = (a,b)->(a+b);
System.out.println(withLambda.add(10,20));
// Multiple parameters with data type in lambda expression
Addable withLambdaD = (int a,int b) -> (a+b);
System.out.println(withLambdaD.add(100,200));
}
}
Comments
Post a Comment