Jest to interfejs funkcjonalny, który reprezentuje predykat (funkcję o wartościach logicznych) jednego argumentu. Jest zdefiniowana w pakiecie java.util.function i zawiera metodę funkcjonalną test().
Metody interfejsu predykatów Java
| Metody | Opis |
|---|---|
| test boolowski (T t) | Ocenia ten predykat na podstawie podanego argumentu. |
| domyślny predykat i (predykat inny) | Zwraca złożony predykat, który reprezentuje zwarcie logiczne ORAZ tego i innego predykatu. Jeśli podczas oceny złożonego predykatu jest on fałszywy, wówczas drugi predykat nie jest oceniany. |
| domyślny predykat negate() | Zwraca predykat reprezentujący logiczną negację tego predykatu. |
| domyślny predykat lub (predykat inny) | Zwraca złożony predykat, który reprezentuje zwarcie logiczne OR tego i innego predykatu. Jeśli podczas oceny złożonego predykatu jest prawdziwy, drugi predykat nie jest oceniany. |
| statyczny predykat isEqual (obiekt docelowyRef) | Zwraca predykat, który sprawdza, czy dwa argumenty są równe zgodnie z Objects.equals(Object, Object). |
Przykład interfejsu predykatu Java 1
import java.util.function.Predicate; public class PredicateInterfaceExample { public static void main(String[] args) { Predicate pr = a -> (a > 18); // Creating predicate System.out.println(pr.test(10)); // Calling Predicate method } } Wyjście:
false
Przykład interfejsu predykatu Java 2
import java.util.function.Predicate; public class PredicateInterfaceExample { static Boolean checkAge(int age){ if(age>17) return true; else return false; } public static void main(String[] args){ // Using Predicate interface Predicate predicate = PredicateInterfaceExample::checkAge; // Calling Predicate method boolean result = predicate.test(25); System.out.println(result); } } Wyjście:
true