Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java 8 — лямбда-выражения

Лямбда-выражения появились в Java 8 и считаются самой большой функцией Java 8. Лямбда-выражения облегчают функциональное программирование и значительно упрощают разработку.

Синтаксис

Лямбда-выражение характеризуется следующим синтаксисом.

parameter -> expression body

Ниже приведены важные характеристики лямбда-выражения.

Пример лямбда-выражений

Создайте следующую программу Java, используя любой редактор по вашему выбору, например, C:\> JAVA.

Java8Tester.java

Живая демонстрация
public class Java8Tester {

   public static void main(String args[]) {
      Java8Tester tester = new Java8Tester();
		
      //with type declaration
      MathOperation addition = (int a, int b) -> a + b;
		
      //with out type declaration
      MathOperation subtraction = (a, b) -> a - b;
		
      //with return statement along with curly braces
      MathOperation multiplication = (int a, int b) -> { return a * b; };
		
      //without return statement and without curly braces
      MathOperation division = (int a, int b) -> a / b;
		
      System.out.println("10 + 5 = " + tester.operate(10, 5, addition));
      System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));
      System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));
      System.out.println("10 / 5 = " + tester.operate(10, 5, division));
		
      //without parenthesis
      GreetingService greetService1 = message ->
      System.out.println("Hello " + message);
		
      //with parenthesis
      GreetingService greetService2 = (message) ->
      System.out.println("Hello " + message);
		
      greetService1.sayMessage("Mahesh");
      greetService2.sayMessage("Suresh");
   }
	
   interface MathOperation {
      int operation(int a, int b);
   }
	
   interface GreetingService {
      void sayMessage(String message);
   }
	
   private int operate(int a, int b, MathOperation mathOperation) {
      return mathOperation.operation(a, b);
   }
}

Проверьте результат

Скомпилируйте класс, используя javac компилятор следующим образом —

C:\JAVA>javac Java8Tester.java

Теперь запустите Java8Tester следующим образом —

C:\JAVA>java Java8Tester

Он должен произвести следующий вывод —

10 + 5 = 15
10 - 5 = 5
10 x 5 = 50
10 / 5 = 2
Hello Mahesh
Hello Suresh

Ниже приведены важные моменты, которые следует учитывать в приведенном выше примере.

Область

Используя лямбда-выражение, вы можете ссылаться на любую конечную переменную или фактически конечную переменную (которая назначается только один раз). Лямбда-выражение выдает ошибку компиляции, если переменной присваивается значение во второй раз.

Пример области действия

Создайте следующую программу Java, используя любой редактор по вашему выбору, например, C:\> JAVA.

Java8Tester.java

Живая демонстрация
public class Java8Tester {

   final static String salutation = "Hello! ";
   
   public static void main(String args[]) {
      GreetingService greetService1 = message -> 
      System.out.println(salutation + message);
      greetService1.sayMessage("Mahesh");
   }
	
   interface GreetingService {
      void sayMessage(String message);
   }
}

Проверьте результат

Скомпилируйте класс, используя javac компилятор следующим образом —

C:\JAVA>javac Java8Tester.java

Теперь запустите Java8Tester следующим образом —

C:\JAVA>java Java8Tester

Он должен произвести следующий вывод —

Hello! Mahesh

java

  1. Операторы Java
  2. Java-выражения, операторы и блоки
  3. Java-комментарии
  4. Java для каждого цикла
  5. Java-строки
  6. Java-интерфейс
  7. Анонимный класс Java
  8. Java-проба с ресурсами
  9. Java-аннотации
  10. Утверждения Java