Я пытаюсь реализовать методы 'и' и 'или' в Bifunction так, как мы это делаем в предикатах.
Итак, мой функциональный интерфейс бифункциональности имеет один абстрактный метод - который принимает два объекта в качестве аргументов и возвращаетсписок.
Я пробовал это:
public interface TriFunctionInterface<T, U, R> {
List<R> applyFilter(T t, U u, List<R> r);
default TriFunctionInterface or(TriFunctionInterface other) {
Objects.requireNonNull(other);
return (T t, U u, List<R> r) -> {
List<R> finalList = new ArrayList<>();
List<R> filteredObjects1 = applyFilter(t, u, r);
List<R> filteredObjects2 = other.applyFilter(t, u, r);
finalList.addAll(filteredObjects1);
finalList.addAll(filteredObjects2);
return finalList;
};
}
}
Но, похоже, выдает ошибку в этой строке: 'return (T t, U u, List r) -> {«