如何在 Java 中使用 lambda 表达式实现 DoubleToLongFunction?

java 8object oriented programmingprogramming

DoubleToLongFunction 是 Java 8 中引入的 java.util.function 包中的内置函数接口。该函数接口接受 双值 参数并产生 长值 结果。DoubleToLongFunction 接口可用作 lambda表达式方法引用 的赋值目标。它仅包含一个 抽象方法:applyAsLong()

语法

@FunctionalInterface
public interface DoubleToLongFunction {
 long applyAsLong(double value)
}

示例

import java.util.function.DoubleToLongFunction;
public class DoubleToLongFunctionTest {
   public static void main(String args[]) {
      double dbl = 30.1212;
      DoubleToLongFunction castToLong = (dblValue) -> (long) dblValue; // lambda expression
      System.out.println(castToLong.applyAsLong(dbl));
      dbl = 77.9212;
      DoubleToLongFunction roundToLong = Math::round;
      System.out.println(roundToLong.applyAsLong(dbl));
   }
}

输出

30
78

相关文章