3/28/2020

Interfejsy funkcjonalne wprowadzone w Java 8

Interfejs funkcjonalny jest interfejsem posiadającym przynajmniej jedną metodę abstrakcyjną (single abstract method). W omawianym interfejsie możesz zdefiniować wiele metod abstrakcyjnych i statycznych. Przykład Interfejsu funkcjonalnego:

java.util.function jest pakietem, który zawiera predefiniowane interfejsy.

4.1 Predicate 

Funkcja matematyczna, która zwraca wartość prawda fałsz. w zależności czy warunek zostanie spełniony lub nie. Czyli jest to metoda zwracająca wartość boolean.
- Predicate jest interfejsem funkcjonalnym wprowadzonym od Java 1.8
- interfejs zawiera tylko jedną metodę test(), która przyjmuje jedną wartość, wykonuje sprawdzenie na podstawie przesłanego warunku i  zwraca wartość boolean.


package functional.staticMethods;
import java.util.function.Predicate;

przykład implementacji interfejsu funkcjonalnego Predicate  przyjmującego parametr generyczny typu Integer

public class PredicateSampleInt {
  public static void main(String[] args) {
    Predicate<Integer> p = i -> i>10;
    System.out.println(p.test(100));
    System.out.println(p.test(9)); 
  }

inny przykład implementacji Predicate przyjmującego parametr generyczny typu String

public class PredicateSampleString {
  public static void main(String[] args) {
    Predicate<String> p = s -> s>5;
    System.out.println(p.test("Ala ma kota));
    System.out.println(p.test("Kot)); 
  }

inny przykład implementacji Predicate przyjmującego parametr generyczny typu Collection

public class PredicateSampleString {
  public static void main(String[] args) {
ArrayList a = new ArrayList<>{};
a.add("a");
    Predicate<Collection> p = c-> c.isEmpty();
    System.out.println(p.test(p(1));
    System.out.println(p.test(3)); 
  } 

istnieje również możliwość łączenia predykatów:
-negaca p1.negate()
-koniunkcja p1.and(p2)
-alternatywa p1.or(p2)




src: https://learn.oracle.com/ols/course/prepare-for-java-se-certification/82508/79482/124478

Brak komentarzy:

Prześlij komentarz

Polecane notatki

Git przydatne komendy do codziennej pracy

Git jest to narzędzie do zarządzania repozytorium kodu, nad którym pracujemy. Powszechnie używany system kontroli wersji. Wiele osób na co d...