Я видел только такие примеры, как следующие для составления функций (или людей, использующих лямбда).Java 8 Как создавать функции без Lambdas?
Function<A,B> inner = ....;
Function<B,C> outter = ....;
Function<A,C> result = outter.compose(inner);
Я хотел бы использовать следующие функции, используя функцию «compose», а не просто ссылаясь на них напрямую.
public class J{
public static B inner(final A a){...}
public static C outter(final B b){...}
}
public class K{
public static Function<A,C> result = (J::outter).compose(J::inner);
}
Это не скомпилировано. Кажется, я не могу использовать этот «составный» член java.util.function.Function. Как это сделать для традиционно объявленных функций? Я хотел бы избежать следующего:
public class K{
public static Function<A,C> result = (a)-> J.outter(J.inner(a));
}
Это можно сделать ?? Заранее спасибо
Я заметил много вопросов по строкам «Как это сделать с этими понятиями», и реальный ответ: «Вы можете сделать это таким образом, но не должны. Сделайте это« классическим » ' путь." – Daniel