如何在Java中使用Lambda表达式实现DoubleFunction <R>?

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 + "\n");

      input = 85;

      System.out.println("Input Marks: " + input);

      System.out.println("Grade : " + getGrade.apply(input) + "\n");

      input = 67;

      System.out.println("Input Marks: " + input);

      System.out.println("Grade : " + getGrade.apply(input) + "\n");

      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

以上是 如何在Java中使用Lambda表达式实现DoubleFunction <R>? 的全部内容, 来源链接: utcz.com/z/316311.html

回到顶部