Sobes.tech
Middle

Какви са лямбда изразите в Java и каква роля играят?

sobes.tech AI

Отговор от AI

Изразите lambda в Java са анонимни функции, които позволяват предаване на код като данни.

Ролята на изразите lambda:

  • Улесняване на кода: Позволяват по-кратък и по-лесен за четене код, особено при работа с функционални интерфейси.
  • Функционално програмиране: Подкрепят парадигмата на функционалното програмиране в Java, правейки го по-гъвкав.
  • Подобряване на работата с колекции: Използват се в API Stream за операции като филтриране, картографиране и редукция.
  • Намаляване на шаблонния код: Заменят в много случаи анонимните вътрешни класове.

Пример:

// Използване на анонимен вътрешен клас
Runnable classicRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Здравей от стария начин!");
    }
};

// Използване на лямбда
Runnable lambdaRunnable = () -> System.out.println("Здравей от лямбда!");
// Използване на лямбда с API Stream за филтриране
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
List<String> filteredNames = names.stream()
                                  .filter(name -> name.startsWith("A"))
                                  .collect(Collectors.toList());