如何在 Java 中使用 lambda 和方法引用來實現 DoublePredicate?


DoublePredicate 是一種內建函式式介面,在 java.util.function 包中定義。此介面可以接受一個 double 值引數作為輸入,並生成一個 boolean 值作為輸出。 DoublePredicate 介面可用作 lambda 表示式方法 引用的賦值目標。該介面包含一個抽象方法:test() 和三個預設方法:and() or()negate()

語法

@FunctionalInterface
public interface DoublePredicate {
   boolean test(double value)
}

lambda 表示式的示例

import java.util.function.DoublePredicate;

public class DoublePredicateLambdaTest {
   public static void main(String args[]) {
      DoublePredicate doublePredicate = (double input) -> {    // lambda expression
         if(input == 2.0) {
            return true;
         } else
            return false;
      };
      boolean result = doublePredicate.test(2.0);
      System.out.println(result);
   }
}

輸出

true


方法引用的示例

import java.util.function.DoublePredicate;

public class DoublePredicateMethodRefTest {
   public static void main(String[] args) {
      DoublePredicate doublePredicate = DoublePredicateMethodRefTest::test;  // method reference
      boolean result = doublePredicate.test(5.0);
      System.out.println(result);
   }
   static boolean test(double input) {
      if(input == 5.0) {
         return true;
      } else
         return false;
   }
}

輸出

true

更新時間:2020 年 1 月 16 日

229 次瀏覽

開啟 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.