Топ-100Лямбда выражения - CodOrbits
LogoCodOrbits

Раздел: Java Core

Раздел охватывает ключевые возможности языка Java: аннотации, исключения, generics, лямбда-выражения, интерфейсы и другие базовые концепции.

Все разделы
Иконка Java Core

Лямбда выражения

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
мин.

Similar Articles Icon
Divider

Работа с элементами файловой системы с помощью класса File

10
мин.

Similar Articles Icon
Divider

Object. Метод toString и его переопределение

15
мин.

Similar Articles Icon