Найти тему
DEBAGanov

Java 522. В чем разница между Predicate и BiPredicate?

Predicate и BiPredicate - это функциональные интерфейсы из пакета java.util.function, которые используются для проверки условий в Java.

Predicate имеет один абстрактный метод test(T t), который принимает объект типа T и возвращает логическое значение (true или false). Этот интерфейс может использоваться для тестирования объектов на соответствие определенным критериям. Например, можно создать предикат pred, который будет возвращать true для всех строк, длина которых больше 5 символов:

Predicate<String> pred = s -> s.length() > 5;

BiPredicate также имеет один абстрактный метод test(T t, U u), но он принимает два аргумента разных типов и возвращает логическое значение. Этот интерфейс может использоваться для тестирования пары объектов на соответствие определенным критериям. Например, можно создать бинарный предикат bipred, который будет возвращать true, если первая строка начинается со второй строки:

BiPredicate<String, String> bipred = (s1, s2) -> s1.startsWith(s2);

Таким образом, основная разница между Predicate и BiPredicate заключается в количестве аргументов, которые эти интерфейсы могут принимать. Predicate принимает один аргумент, а BiPredicate - два.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov