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


LongToDoubleFunction 是內建函式介面,是 java.util.function 包的一部分。此函式介面接受一個長整型引數作為輸入,產生雙精度型別的結果。LongToDoubleFunction 可用作 lambda 表示式方法引用的賦值目標。它只包含一個抽象方法: applyAsDouble()

語法

@FunctionalInterface
interface LongToDoubleFunction {
 double applyAsDouble(long value);
}

Lambda 例項示例

import java.util.function.LongToDoubleFunction;
public class LongToDoubleLambdaTest {
   public static void main(String args[]) {
      LongToDoubleFunction getDouble = longVal -> { // lambda expression
         double doubleVal = longVal;
         return doubleVal;
      };
      long input = 565758L;
      System.out.println("The input is: " + input);
      double result = getDouble.applyAsDouble(input);
      System.out.println("The result is: " + result);
   }
}

輸出

The input is: 565758
The result is: 565758.0


方法引用示例

import java.util.function.LongToDoubleFunction;

public class LongToDoubleMethodRefTest {
   public static void main(String args[]) {
      LongToDoubleFunction result = LongToDoubleMethodRefTest::convertLongToDouble;   // method reference
      System.out.println(result.applyAsDouble(75));
      System.out.println(result.applyAsDouble(60));
   }
   static Double convertLongToDouble(long value) {
      return (double)value / 5;
   }
}

輸出

15.0
12.0

更新於:15-7-2020

88 次瀏覽

開啟你的職業生涯

透過學完此課程獲得認證

入門
廣告