import java.util.function.Function; public class Compose { public static Function compose(Function f, Function g) { return x -> f.apply(g.apply(x)); } public static void main(String[] args) { Function sin_asin = compose(Math::sin, Math::asin); System.out.println(sin_asin.apply(0.5)); // prints "0.5" } }