Интерфейс Predicate

Урок 15

Интерфейс Predicate


Predicate  встроенный функциональный интерфейс, добавленный в Java SE 8 в пакет java.util.function. Принимает на вход значение, проверяет состояние и возвращает boolean значение в качестве результата.

Predicate “подтверждает” какое-то значение как true или false.

Пример 1. Интерфейс Predicate

@FunctionalInterface
public interface Predicate<T> {
    boolean test(T t);
   }

Функциональный дескриптор интерфейса:

 

T -> boolean

Пример 2. Использование интерфейса Predicate

import java.util.function.Predicate;

public class PredicateDemo1 {
    public static void main(String[] args) {
        Predicate<Integer> negative = i -> i < 0;
        System.out.println(negative.test(-6));
        System.out.println(negative.test(6));
        System.out.println(negative.test(0));
    }
}

Predicate интерфейс содержит методы по умолчанию:

default Predicate<T> and(Predicate<? super T> other);
default Predicate<T> or(Predicate<? super T> other);
default Predicate<T> negate();

Пример 3. Использование интерфейса Predicate

import java.util.function.Predicate;

public class PredicateDemo2 {
    public static void main(String[] args) {
        Predicate<String> containsA = t -> t.contains("A");
        Predicate<String> containsB = t -> t.contains("B");
        System.out.println(containsA.and(containsB).test("ABCD"));
    }
}

 

Источники: Chapter TEN - Java Built-In Lambda Interfaces, Java 8 Programmer II Study Guide by Esteban Herrera.



0 comments
Leave your comment: