【发布时间】:2015-03-08 11:19:42
【问题描述】:
在 Java 中,是否可以让 lambda 接受多种不同的类型?
即: 单变量有效:
Function <Integer, Integer> adder = i -> i + 1;
System.out.println (adder.apply (10));
可变参数也可以:
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 })));
但我想要一些可以接受许多不同类型参数的东西,例如:
Function <String, Integer, Double, Person, String> myLambda = a , b, c, d-> {
[DO STUFF]
return "done stuff"
};
主要用途是为了方便起见,在函数内部有小的内联函数。
我环顾了谷歌并检查了 Java 的函数包,但找不到。这可能吗?
【问题讨论】: