LongToIntFunction 是Java 8 中引入的java.util.function包的功能接口。该功能接口接受long值参数作为输入,并产生一个(int)整数值的结果。LongToIntFunction接口可用作lambda 表达式或方法引用的分配目标。此接口仅包含一个抽象方法:applyAsInt(),不包含任何默认方法和抽象方法。
@FunctionalInterface interface LongToIntFunction { int applyAsInt(long value); }
import java.util.function.LongToIntFunction; public class LongToIntLambdaTest { public static void main(String args[]) { LongToIntFunction getInt = longVal -> { //lambda表达式 int intVal = (int)longVal; return intVal; }; long input = 757775L; System.out.println("输入的是: " + input); int result = getInt.applyAsInt(input); System.out.println("结果是: " + result); } }
输出结果
输入的是: 757775 结果是: 757775
import java.util.function.LongToIntFunction; public class LongToIntFunctionMethodRefTest { public static void main(String[] args) { LongToIntFunction result = LongToIntFunctionMethodRefTest::convertLongToInt; //方法引用 System.out.println(result.applyAsInt(50)); System.out.println(result.applyAsInt(100)); } static Integer convertLongToInt(long value) { return (int) value / 10; } }
输出结果
5 10