Как объявить функцию, которая принимает три параметра и возвращает значение

Например, если бы я хотел объявить аналогичную лямбду следующему методу:

boolean isXyz(String a, int b, boolean c) {
...
}

Пытающийся

Function<String,Integer,Booleean,Boolean> isXyz = ... 

Выдает ошибку компиляции:

X.java:3: error: wrong number of type arguments; required 2

person OscarRyz    schedule 02.03.2021    source источник
comment
Function — это просто удобный интерфейс в стандартной библиотеке Java. Вы всегда можете создать свой собственный, если хотите большей гибкости, точно так же, как вы можете создать больше классов.   -  person Charlie Armstrong    schedule 03.03.2021
comment
Этот первый ответ в обмане такой бессвязный... Просто скопируйте первый бит этого stackoverflow.com/a/19649473/1898563< /а>   -  person Michael    schedule 03.03.2021
comment
@Michael, проблема в том, что мне пришлось бы предварительно объявить интерфейс, но если я хочу использовать его прямо здесь, первый ответ, он работает нормально, например. скажем, (String,String) -> String будет Function<String,Function<String,String>> f2 = x -> y -> x + y чертовски уродливым, но работает .. а затем val result = f2.apply("hello").apply("world");   -  person OscarRyz    schedule 03.03.2021
comment
Трудно сказать, что вы должны делать, потому что вы действительно не дали нам никакого контекста. Технически это может работать, но я бы сказал, что вряд ли это будет идиоматическая java.   -  person Michael    schedule 03.03.2021
comment
О, я знаю... Я знаю, что способ добавления двух строк в Java будет String f(String a, String b) { return a + b;}. Я больше хотел изучить возможности лямбда-выражений   -  person OscarRyz    schedule 03.03.2021