206. Implementing a Function that takes five (or any other arbitrary number of) arguments
We know that Java already has java.util.function.Function
and the specialization of it, java.util.function.BiFunction
. The Function
interface defines the method apply(T, t)
, while BiFunction
has apply(T t, U u)
.
In this context, we can define a TriFunction
, FourFunction
, or (why not?) a FiveFunction
functional interface, as follows (all of these are specializations of Function
):
@FunctionalInterface
public interface FiveFunction <T1, T2, T3, T4, T5, R> {
R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5);
}
As its name suggests, this functional interface takes five arguments.
Now, let’s use it! Let’s assume that we have the following model:
public class PL4 {
private final double a;
private final double b;
private final double c;
private final double d;
private final double x;
public PL4(double a, double b,
double c, double...