Middle
Mis on lambda väljendid Java's?
sobes.tech AI
Vastus AI-lt
Java lambda-väljendus on anonüümne funktsioon. See võimaldab vaadata funktsionaalsust kui meetodi argumenti või kui koodi kui andmeid.
Peamised omadused:
- Anonüümsus: Ei oma nime.
- Funktsionaalne liides: Lambda-väljendus on alati seotud funktsionaalse liidesega (liides, millel on üks abstraktne meetod).
- Süntaks:
(parameetrid) -> { keha }
Näide kasutamisest funktsionaalse liidese Consumer'iga:
import java.util.function.Consumer;
// Funktsionaalne liides Consumer<T> omab ühte abstraktset meetodit accept(T t)
Consumer<String> tervitus = (nimi) -> {
System.out.println("Tere, " + nimi);
};
tervitus.accept("Maailm"); // Väljund: Tere, Maailm
Näide kasutamisest liidese Runnable'iga:
// Liides Runnable omab ühte abstraktset meetodit run()
Runnable ülesanne = () -> {
System.out.println("Ülesanne täidetakse eraldi lõimes");
};
uus Thread(ülesanne).start(); // Ülesande käivitamine uues lõimes
Süntaksivõimalused:
- Ilma parameetriteta:
() -> { System.out.println("Tere"); } - Üks parameeter ilma sulgudeta:
nimi -> System.out.println("Tere, " + nimi) - Mitme parameetriga sulgudes ja tüüpidega:
(int a, int b) -> { return a + b; } - Mitme parameetriga ilma tüüpide väljundita:
(a, b) -> a + b - Ühel real ilma
return'ita:(a, b) -> a + b - Mitmerealine keha sulgude ja
return'iga (vajadusel):(a, b) -> { int summa = a + b; return summa; }
Lambda-väljendid muudavad koodi kompaktsemaks, loetavamaks ning võimaldavad kasutada funktsionaalset programmeerimist Java-s.