I read many examples about how to easily define a lambda in Java 8. This lambda takes always one parameter like f1
:
Function<Integer,Integer> f1 = (x) -> Math.pow(x,2);
Of course, you can extend the body like f2
:
Function<Integer,Integer> f2 = (x) -> {if (x < 0) return 0;
else return Math.pow(x,2);};
But I cannot find a way to define a lambda with a variable number of paramters like f3
:
Function<Integer,Integer,Integer> f3 = (x,y) -> {return x + y};
or without parameter like f4
:
Function<Double> f4 = () -> {return Math.random()};
I am almost sure that you can define own functional interface (i.e., create a new file commonly) to develop f3
and f4
, but Is there some way to easily define them?