Search code examples
javafunctiondoublefunction-parameter

How to use a double function as a parameter for another one?


Hello! I'm writing a code and one function needs to use another function as a parameter.

My Code

public static double func(double a, double b, double f(double c))
{
    return f(a)*f(b)
    
}

How do I make it work (Eclipse says everything is bad)?

Thank you!


Solution

  • Check out DoubleFunction<T> (or even better DoubleUnaryOperator)

    public static double func(double a, double b, DoubleFunction<Double> f) {
      return f.apply(a) * f.apply(b);
    }
    

    and to call it

    func(2, 2, d -> d + 1); // 9.