如何在 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

相关文章