如何在 Java 中使用 lambda 表达式和方法引用实现 DoublePredicate?
java 8object oriented programmingprogramming更新于 2025/5/2 12:22:17
DoublePredicate 是定义在 java.util.function 包中的内置函数式接口。该接口可以接受一个 双值 参数作为输入,并生成一个 布尔值 作为输出。DoublePredicate 接口可以用作 lambda表达式 或 方法引用 的赋值目标。该接口包含一个抽象方法:test() 和三个默认方法:and()、or() 和 negate()。
语法
@FunctionalInterface public interface DoublePredicate { boolean test(double value) }
Lambda 表达式示例
import java.util.function.DoublePredicate; public class DoublePredicateLambdaTest { public static void main(String args[]) { DoublePredicate doublePredicate = (double input) -> { // lambda 表达式 if(input == 2.0) { return true; } else return false; }; boolean result = doublePredicate.test(2.0); System.out.println(result); } }
输出
true
方法引用示例
import java.util.function.DoublePredicate; public class DoublePredicateMethodRefTest { public static void main(String[] args) { DoublePredicate doublePredicate = DoublePredicateMethodRefTest::test; // 方法引用 boolean result = doublePredicate.test(5.0); System.out.println(result); } static boolean test(double input) { if(input == 5.0) { return true; } else return false; } }
输出
true