如何在 Java 中使用 Lambda 和方法引用实现 LongToIntFunction?
LongToIntFunction 是 java.util.function 包中的一个函数接口,该包在 Java 8中引入。此函数接口接受一个 long 值参数作为输入,并生成一个int 值结果。LongToIntFunction 接口可以用作 lambda 表达式 或 方法 引用的赋值目标。此接口包含一个抽象方法:applyAsInt(),不包含任何默认和抽象方法。
语法
@FunctionalInterface interface LongToIntFunction { int applyAsInt(long value); }
Lambda 表达式的示例
import java.util.function.LongToIntFunction; public class LongToIntLambdaTest { public static void main(String args[]) { LongToIntFunction getInt = longVal -> { // lambda expression int intVal = (int)longVal; return intVal; }; long input = 757775L; System.out.println("The input is: " + input); int result = getInt.applyAsInt(input); System.out.println("The result is: " + result); } }
输出
The input is: 757775 The result is: 757775
方法引用的示例
import java.util.function.LongToIntFunction; public class LongToIntFunctionMethodRefTest { public static void main(String[] args) { LongToIntFunction result = LongToIntFunctionMethodRefTest::convertLongToInt; // method reference System.out.println(result.applyAsInt(50)); System.out.println(result.applyAsInt(100)); } static Integer convertLongToInt(long value) { return (int) value / 10; } }
输出
5 10
广告