Как вы можете подсчитать количество параметров при инициализации вариационной функции/лямбда-выражения? Или: как вы можете определить арность лямбда-выражения?Считать переменные параметры лямбда-функции в Java
Пример:
public class MathFunction{
private java.util.function.Function <double[], Double> function = null;
private int length = 0;
public MathFunction (Function <double[], Double> pFunction){
this.function = pFunction;
this.length = ???
}
}
Теперь, если вы инициализировать новый MathFunction
как это,
MathFunction func = new MathFunction((x) -> Math.pow(x[0], x[1]));
как вы можете рассчитывать переданные параметры (здесь два) в MathFunction
-constructor?
Вы можете использовать дольше и дольше массивы до тех пор, пока 'ArrayIndexOutOfBoundsException' не будет обнаружен. Это было бы безумным. Разумным способом является просто передать длину как отдельный аргумент. –