在Java中如何使用lambda和方法引用实现LongSupplier?
LongSupplier是来自java.util.function包的内置函数接口。该接口不需要任何输入,但生成Long值输出。因为LongSupplier是一个函数接口,所以它可以用作lambda表达式和方法引用的赋值目标,并且只包含一个抽象方法:getAsLong()。
语法
@FunctionalInterface
public interface LongSupplier {
long getAsLong();
}Lambda表达式示例
import java.util.function.LongSupplier;
public class LongSupplierLambdaTest {
public static void main(String args[]) {
LongSupplier supplier = () -> { // lambda 表达式
return 75;
};
long result = supplier.getAsLong();
System.out.println(result);
}
}输出结果
75
方法引用示例
import java.util.function.LongSupplier;
public class LongSupplierMethodRefTest {
public static void main(String[] args) {
LongSupplier supplier = LongSupplierMethodRefTest::getValue; //方法引用
double result = supplier.getAsLong();
System.out.println(result);
}
static long getValue() {
return 50;
}
}输出结果
50.0