Commit 65cb6b5b by Patryk Czarnik

Przykłady lambd

parent 6135259d
......@@ -7,4 +7,7 @@ package p25_lambdy;
public interface FunkcjaLiczbowa {
double oblicz(double x);
default void wypisz(double x) {
System.out.println("f(" + x + ")=" + oblicz(x));
}
}
......@@ -24,5 +24,31 @@ public class Przyklady {
wynik = f3.oblicz(3);
System.out.println(wynik);
// skorzystajmy z metody zdfiniowanej jako default
f3.wypisz(5);
System.out.println("Obiekt f3: " + f3);
if(f3 instanceof FunkcjaLiczbowa) {
System.out.println("Jest instancją");
}
// Wyrażenia lambda mogą być bardziej rozbudowane.
// Jeśli po prawej stronie wpisujemy {blok w klamerkach}
// to wynik zwracamy normalnie za pomocą return
FunkcjaLiczbowa f4 = (double arg) -> {
if(arg < 0) {
System.out.println("f4 dostało liczbę ujemną " + arg);
return (-arg) * 100;
} else {
System.out.println("f4 dostało liczbę dodatnią " + arg);
return arg + 50;
}
};
wynik = f4.oblicz(-7);
System.out.println(wynik);
wynik = f4.oblicz(7);
System.out.println(wynik);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment