gpt4 book ai didi

Java 函数指针的替代品

转载 作者:行者123 更新时间:2023-12-01 16:47:42 25 4
gpt4 key购买 nike

我正在寻找创建西格玛方法。来自 C 的我可以使用函数指针,但我不确定 C 的类似构造。似乎我可以使用 Lambda,尽管我不熟悉它们在 Scheme 之外的工作方式。如果有人可以帮助我修改下面的代码,我将不胜感激。

public static int Sigma( int n , function f(int)) {
int sum = 0;
for(int i = 0; i < n; i++)
sum = sum + f(i);
return sum;
}

最佳答案

您可以使用 Java 8+ 中的 java.util.function 包中的函数类/接口(interface)。就像 IntUnaryOperator 一样。

public static int Sigma(int n, IntUnaryOperator f){
int sum = 0;
for(int i = 0; i < n; i++)
sum = sum + f(i);
return sum;
}

更短的版本将使用 IntStream(相同的包)

public static int Sigma(int n, IntUnaryOperator f){
return IntStream.range(0, n).map(f).sum();
}

关于Java 函数指针的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46840593/

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