【发布时间】:2018-08-09 19:46:01
【问题描述】:
我阅读了许多关于如何在 Java 8 中轻松定义 lambda 的示例。这个 lambda 始终采用一个参数,例如 f1:
Function<Integer,Integer> f1 = (x) -> Math.pow(x,2);
当然,你可以像f2一样扩展body:
Function<Integer,Integer> f2 = (x) -> {if (x < 0) return 0;
else return Math.pow(x,2);};
但我找不到一种方法来定义具有可变数量参数的 lambda,例如 f3:
Function<Integer,Integer,Integer> f3 = (x,y) -> {return x + y};
或不带参数如f4:
Function<Double> f4 = () -> {return Math.random()};
我几乎可以肯定你可以定义自己的功能接口(即通常创建一个新文件)来开发f3和f4,但是有什么方法可以轻松定义它们吗?
【问题讨论】: