在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