Лямбда выражения
Last updated: 4 мая 2025 г.Что же такое лямбда выражения?
Всё просто. Это просто сокращенная форма реализации функц. интерфейса с помощью анонимного класса.
Реализовывать абстрактный метод функционального интерфейса с помощью анонимного класса не очень лаконично.
Поэтому лучше использовать лямбда выражения
.
Пример программы:
1import java.util.*;
2
3interface Adder{
4 public double pow(double a, double b);
5}
6
7class Lambda{
8 public static double func(Adder a){
9 return a.pow(2, 5);
10 }
11
12 public static void main(String[] args) {
13 /* Вместо:
14 System.out.println(func(new Adder() {
15 public double pow(double a, double b){
16 return Math.pow(a, b);
17 }
18 })); */
19
20 // Проще сделать так:
21 // Здесь a1, a2 это аргументы единственного
22 // метода в функц. интерфейсе. После стрелочки
23 // тело(реализация) функции единственного
24 // метода в функц. интерфейсе.
25 // То есть (a1, a2) это (double a, double b),
26 // а {return Math.pow(a1, a2);} это собственно
27 // реализация pow
28 System.out.println(func((a1, a2)->{return Math.pow(a1, a2);}));
29
30 // Еще проще через ссылку на метод(сокращенная
31 // форма лямбда выражения вызывающего только
32 // определенный метод)
33 System.out.println(func(Math::pow));
34 }
35}
Вывод:

Следующие уроки
Java Stream API
10
мин.
Работа с элементами файловой системы с помощью класса File
10
мин.
Object. Метод toString и его переопределение
15
мин.