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

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