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