ใน Java เป็นไปได้ไหมที่แลมบ์ดาจะยอมรับหลายประเภทที่แตกต่างกัน?
เช่น: ตัวแปรเดียวทำงาน:
Function <Integer, Integer> adder = i -> i + 1;
System.out.println (adder.apply (10));
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 })));
แต่ฉันต้องการบางสิ่งที่สามารถยอมรับข้อโต้แย้งหลายประเภทเช่น:
Function <String, Integer, Double, Person, String> myLambda = a , b, c, d-> {
[DO STUFF]
return "done stuff"
};
การใช้งานหลักคือการมีฟังก์ชั่นอินไลน์เล็ก ๆ ภายในฟังก์ชั่นเพื่อความสะดวก
ฉันมองไปรอบ ๆ google และตรวจสอบ Function Package ของ Java แล้ว แต่หาไม่เจอ เป็นไปได้ไหม
Function<One, Function<Two, Function<Three, Function<Four, Function<Five, Six>>>>> func = a -> b -> c -> d -> e -> 'z';