Java中使用lambda和方法引用实现IntToLongFunction
IntToLongFunction 是java.util.function包中的内置功能接口。该功能接口接受一个 int值的 参数,并产生一个long值的结果。IntToLongFunction 接口可用作lambda 表达式 或方法引用的分配目标 。它仅包含一个抽象方法:applyAsLong()。
语法
@FunctionalInterface interface IntToLongFunction { long applyAsLong(int value); }
Lambda表达式示例
import java.util.function.IntToLongFunction; public class IntToLongFunctionLambdaTest { public static void main(String args[]) { IntToLongFunction getLong = intVal -> { //lambda表达式 long longVal = intVal; return longVal; }; int input = 40; long result = getLong.applyAsLong(input); System.out.println("long值为: " + result); input = 75; System.out.println("long值为: " + getLong.applyAsLong(input)); input = 90; System.out.println("long值为: " + getLong.applyAsLong(input)); } }
输出结果
long值为: 40 long值为: 75 long值为: 90
方法引用示例
import java.util.function.IntToLongFunction; public class IntToLongFunctionMethodRefTest { public static void main(String args[]) { IntToLongFunction result = IntToLongFunctionMethodRefTest::convertIntToLong; //方法引用 System.out.println(result.applyAsLong(75)); System.out.println(result.applyAsLong(45)); } static Long convertIntToLong(int value) { return value / 10L; } }
输出结果
7 4