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