Lambda expressions and functional interfaces in Java

 

Lambda expressions in Java

(parameters) -> expression

(parameters) -> { statements; } 

// No parameters

() -> System.out.println("Hello, World!");


// Single parameter

a -> a * 2


// Multiple parameters

(a, b) -> a + b


// Block of code

(a, b) -> {

   int result = a + b;

   return result;

} 

// Functional interface with a single abstract method

@FunctionalInterface

interface Calculator {

   int calculate(int a, int b);

}


public class Main {

   public static void main(String[] args) {

       // Using Lambda Expression for addition

       Calculator additionCalculator = (a, b) -> a + b;

      

       // Using Lambda Expression for subtraction

       Calculator subtractionCalculator = (a, b) -> a - b;


       // Using Lambda Expression for multiplication

       Calculator multiplicationCalculator = (a, b) -> a * b;


       int resultAddition = additionCalculator.calculate(53);

       int resultSubtraction = subtractionCalculator.calculate(53);

       int resultMultiplication = multiplicationCalculator.calculate(53);


       System.out.println("Modern Approach with Lambda - Addition: " + resultAddition);

       System.out.println("Modern Approach with Lambda - Subtraction: " + resultSubtraction);

       System.out.println("Modern Approach with Lambda - Multiplication: " + resultMultiplication);

   }

} 

More functional interfaces in Java: https://medium.com/@nagarjun_nagesh/functional-interfaces-in-java-fe5ebf5bafed 

Comentários

Postagens mais visitadas deste blog

Why I’m Finally Letting Go of the Repository Pattern