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


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 expression
         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; // method reference
      double result = supplier.getAsLong();
      System.out.println(result);
   }
   static long getValue() {
      return 50;
   }
}

输出

50.0

更新于:2020 年 7 月 14 日

383 次浏览

开启您的求职生涯

完成课程后获得认证

开始学习
广告