如何在 Java 中使用 lambda 表达式和方法引用实现 LongSupplier?

java 8object oriented programmingprogramming更新于 2025/4/23 10:52:17

LongSupplierjava.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

相关文章