我想总结一个整数列表.它的工作原理如下,但语法感觉不对.代码可以优化吗?
Map<String, Integer> integers;
integers.values().stream().mapToInt(i -> i).sum();
Run Code Online (Sandbox Code Playgroud) 在Java中,是否可以让lambda接受多种不同的类型?
即:单变量工作:
Function <Integer, Integer> adder = i -> i + 1;
System.out.println (adder.apply (10));
Run Code Online (Sandbox Code Playgroud)
Varargs也有效:
Function <Integer [], Integer> multiAdder = ints -> {
int sum = 0;
for (Integer i : ints) {
sum += i;
}
return sum;
};
//....
System.out.println ((multiAdder.apply (new Integer [] { 1, 2, 3, 4 })));
Run Code Online (Sandbox Code Playgroud)
但是我想要一些可以接受许多不同类型参数的东西,例如:
Function <String, Integer, Double, Person, String> myLambda = a , b, c, d-> {
[DO STUFF]
return "done stuff"
};
Run Code Online (Sandbox Code Playgroud)
主要用途是在函数内部使用小内联函数以方便使用.
我查看了谷歌并检查了Java的功能包,但找不到.这可能吗?