gpt4 book ai didi

java - 具有多个参数的 Java 8 的 Function.Function

转载 作者:行者123 更新时间:2023-12-04 09:09:59 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Java 8: Where is TriFunction (and kin) in java.util.function? Or what is the alternative?

(10 个回答)


9 个月前关闭。




我阅读了许多关于如何在 Java 8 中轻松定义 lambda 的示例。此 lambda 始终采用一个参数,例如 f1 :

Function<Integer,Integer> f1 = (x) -> Math.pow(x,2);

当然,你可以像 f2 一样扩展正文:
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()};

我几乎可以肯定您可以定义自己的功能接口(interface)(即通常创建一个新文件)来开发 f3f4 ,但是有什么方法可以轻松定义它们吗?

最佳答案

Function<Integer,Integer,Integer> f3 = (x,y) -> {return x + y};

实际上是一个 BiFunction<Integer,Integer,Integer>

Function<Double> f4 = () -> {return Math.random()};

Supplier<Double>
如果您需要更多,请创建自己的,例如 TriFunction<Integer,Integer,Integer,Integer>例如

关于java - 具有多个参数的 Java 8 的 Function.Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51774742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com