Назад к вопросам
Junior
85
questionbank
Для чего предназначен функциональный интерфейс BiPredicate<T, U> в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
BiPredicate<T, U> — это функциональный интерфейс, представляющий предикат, который принимает два аргумента типов T и U и возвращает булево значение. Используется для тестирования, соответствует ли пара объектов определенному условию.
Основные методы:
boolean test(T t, U u): Выполняет тестирование на заданных аргументах.default BiPredicate<T, U> and(BiPredicate<? super T, ? super U> other): Возвращает композитный предикат, представляющий логическое И этого предиката и другого.default BiPredicate<T, U> or(BiPredicate<? super T, ? super U> other): Возвращает композитный предикат, представляющий логическое ИЛИ этого предиката и другого.default BiPredicate<T, U> negate(): Возвращает предикат, представляющий логическое отрицание этого предиката.
Пример использования:
import java.util.function.BiPredicate;
public class BiPredicateExample {
public static void main(String[] args) {
BiPredicate<String, Integer> lengthCheck = (str, len) -> str.length() == len;
System.out.println(lengthCheck.test("Hello", 5)); // true
System.out.println(lengthCheck.test("World", 3)); // false
BiPredicate<String, Integer> startsWithH = (str, len) -> str.startsWith("H");
BiPredicate<String, Integer> combinedPredicate = lengthCheck.and(startsWithH);
System.out.println(combinedPredicate.test("Hello", 5)); // true
System.out.println(combinedPredicate.test("World", 5)); // false
}
}