如何使用 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 expression 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; // method reference boolean result = intPredicate.test(30); System.out.println(result); } static boolean test(long input) { if(input == 50) { return true; } else return false; } }
输出
false
广告