如何在 Java 中使用 lambda 和方法引用实现 LongPredicate?

java 8object oriented programmingprogramming更新于 2025/4/23 11:07:17

LongPredicate 是定义在  java.util.function 包中的函数式接口。该接口主要用于评估 long 类型的输入并返回 boolean 类型的输出。LongPredicate 可用作 lambda表达式方法引用 的赋值目标。它包含一个抽象方法:test() 和三个默认方法:and()negate()or()

语法

@FunctionalInterface
interface LongPredicate {
 boolean test(long value);
}

Lambda 表达式示例

import java.util.function.LongPredicate;

public class LongPredicateLambdaTest {
   public static void main(String args[]) {
      LongPredicate longPredicate = (long input) -> {    // lambda 表达式
         if(input == 50) {
            return true;
         } else
            return false;
      };
      boolean result = longPredicate.test(50);
      System.out.println(result);
   }
}

输出

true


方法引用示例

import java.util.function.LongPredicate;

public class LongPredicateMethodRefTest {
   public static void main(String args[]) {
      LongPredicate intPredicate = LongPredicateMethodRefTest::test; // 方法引用
      boolean result = intPredicate.test(30);
      System.out.println(result);
   }
   static boolean test(long input) {
      if(input == 50) {
         return true;
      } else
         return false;
   }
}

输出

false

相关文章