小编eya*_*zuz的帖子

如何在java中将函数作为参数传递

我有一个矩阵类,我想在这个类中创建一个名为 map 的函数,它看起来像这样

  public void map(T fn) {
      //do something
   }
Run Code Online (Sandbox Code Playgroud)

该函数背后的想法是作为参数 fn,它可以是任何方法并将此方法应用于矩阵中的每个数字。

它背后的想法是针对神经网络上的编码训练视频,但我尝试在 Java 中对其进行操作,但没有奏效。我搜索 lambda 表达式,但是当我使用它时,它只让我传递像 Math.cos(arg ) 里面有一个参数。但我希望它在没有任何参数的情况下传递当前函数看起来像这样

interface lambda<T> {
double foo(T fn);
}

public void map(T fn) {
    for(int i = 0 ; i< this.getRow() ; i++) {
        for(int j = 0 ; j< this.getCol(); j++) {
            int a = i;
            int b = j;
            lambda mycode = (T) -> setData(matrix[a][b], fn);
            matrix[i][j] = mycode.foo(fn);
        }
    }
}
private double setData(double data, T fn) { …
Run Code Online (Sandbox Code Playgroud)

java

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1