如何使用 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

更新时间: 14-Jul-2020

共 209 次浏览

开启你的职业

完成课程并获得认证

立即开始
广告