如何在 Java 中使用 lambda 表达式和方法引用实现 LongSupplier?
java 8object oriented programmingprogramming更新于 2025/4/23 10:52:17
LongSupplier 是 java.util.function 包中内置的函数式接口。该接口不接受任何输入,但会生成一个 长值 输出。由于 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