如何在 Java 中實現 DoubleFunction使用 lambda 表示式?


DoubleFunction<R> 是一個內建函式化介面,在java.util.function 包中定義。此介面接受一個雙值引數作為輸入,並返回型別為 R 的值。由於這是一個函式化介面,因此可用作lambda 表示式方法引用賦值目標DoubleFunction<R> 介面僅有一個抽象方法:apply()

語法

@FunctionalInterface
public interface DoubleFunction<R> {
 R apply(double value);
}

示例

import java.util.function.DoubleFunction;
public class DoubleFunctionTest {
   public static void main(String[] args) {
      DoubleFunction<String> getGrade = marks -> { // lambda expression
         if(marks > 90 && marks <= 100) {
            return "A";
         }
         else if(marks > 70 && marks <= 90) {
            return "B";
         }
         else if(marks > 50 && marks <= 70) {
            return "C";
         }
         else {
            return "D";
         }
      };
      double input = 95;
      System.out.println("Input Marks: " + input);
      String grade = getGrade.apply(input);
      System.out.println("Grade : "+ grade + "
");       input = 85;       System.out.println("Input Marks: " + input);       System.out.println("Grade : " + getGrade.apply(input) + "
");       input = 67;       System.out.println("Input Marks: " + input);       System.out.println("Grade : " + getGrade.apply(input) + "
");       input = 49;       System.out.println("Input Marks: " + input);       System.out.println("Grade : " + getGrade.apply(input));    } }

輸出

Input Marks: 95.0
Grade : A

Input Marks: 85.0
Grade : B

Input Marks: 67.0
Grade : C

Input Marks: 49.0
Grade : D

更新於: 13-Jul-2020

320 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.