如何在 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
廣告