Trong Java, có thể có lambda chấp nhận nhiều loại khác nhau không?
Tức là: Biến đơn hoạt động:
Function <Integer, Integer> adder = i -> i + 1;
System.out.println (adder.apply (10));
Varargs cũng hoạt động:
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 })));
Nhưng tôi muốn một cái gì đó có thể chấp nhận nhiều loại đối số khác nhau, ví dụ:
Function <String, Integer, Double, Person, String> myLambda = a , b, c, d-> {
[DO STUFF]
return "done stuff"
};
Việc sử dụng chính là để có các chức năng nội tuyến nhỏ bên trong các chức năng cho thuận tiện.
Tôi đã xem qua google và kiểm tra Gói chức năng của Java, nhưng không thể tìm thấy. Điều này có thể không?
Function<One, Function<Two, Function<Three, Function<Four, Function<Five, Six>>>>> func = a -> b -> c -> d -> e -> 'z';