java - 如何将比较函数传递到 Java 方法中?

标签 java lambda java-8 functional-programming comparator

我正在将一些代码从 Python 移植到 Java 8,但遇到了一种方法,其中一个参数是矩阵,其他参数是比较函数,在 Python 中类似于 np.gtnp.lt .

我发现这很难在 Java 中实现,因为 Java 比较(Comparator)仅对复杂类型进行操作,而自动装箱似乎不起作用。

我想写的是:

public static boolean[][] matrix_check(double[][] matrix, Comparator<double> comparator) {
    // ...
}

但是Comparator<double>显然不起作用。我应该如何用 Java 实现这个功能?

最佳答案

Java 泛型不支持原始类型。 您需要通过Comparator<Double>反而。 您可以比较 doubleDouble值与这样的比较器。比较double值将利用自动装箱。

关于java - 如何将比较函数传递到 Java 方法中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55976739/

相关文章:

java - 将 EditText 带到 Android WebView 的前面

c++ - Qt 信号 lambda 导致 shared_ptr 泄漏?

c# - 将字符串转换为 Func<T,Object>

java - 如何使用 java 8 创建抽象函数

java - 从 Oracle JDK 迁移到 OpenJDK 所需的更改

java - 在 Java 8 中创建通用谓词

java - 设置增强for循环的初始值

java - 是否有一些简单的方法可以在 JBoss 部署 EAR 中的 JAR 时执行代码?

java - 在注释处理器中获取字段类

c# - 如何动态分配 lambda<expression<delegate>> 到 expression<delegate>