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