Sobes.tech
Middle

Kas ir lambda izteiksmes Java?

sobes.tech AI

Atbilde no AI

Lambda izteiksme Java ir ir anonīva funkcija. Tā ļauj uzskatīt funkcionalitāti kā metodes argumentu vai kā kodu kā datu.

Galvenās īpašības:

  • Noma: Nav nosaukuma.
  • Funkcionālais interfeiss: Lambda izteiksme vienmēr ir saistīta ar funkcionālo interfeisu (interfeiss ar vienu abstraktu metodi).
  • Sintakse: (parametri) -> { ķermenis }

Piemērs ar funkcionālo interfeisu Consumer:

import java.util.function.Consumer;

// Funkcionālais interfeiss `Consumer<T>` ir ar vienu abstraktu metodi accept(T t)
Consumer<String> sveiciens = (vards) -> {
    System.out.println("Sveiki, " + vards);
};

sveiciens.accept("Pasaule"); // Izvade: Sveiki, Pasaule

Piemērs ar Runnable interfeisu:

// `Runnable` interfeiss ir ar vienu abstraktu metodi run()
Runnable uzdevums = () -> {
    System.out.println("Uzdevums tiek izpildīts atsevišķā pavedienā");
};

new Thread(uzdevums).start(); // Sāk jaunu pavedienu ar uzdevumu

Sintakses varianti:

  • Bez parametriem: () -> { System.out.println("Sveiki"); }
  • Viens parametrs bez iekavām: vards -> System.out.println("Sveiki, " + vards)
  • Vairāki parametri ar iekavām un tipiem: (int a, int b) -> { return a + b; }
  • Vairāki parametri bez tipu (tipa inferošana): (a, b) -> a + b
  • Viena rinda ar ķermeni bez return: (a, b) -> a + b
  • Daudzrindas ķermenis ar iekavām un return (ja nepieciešams): (a, b) -> { int summa = a + b; return summa; }

Lambda izteiksmes padara kodu kompakti, lasāmu un ļauj izmantot funkcionālo programmēšanu Java.