在Java中如何使用lambda和方法引用实现LongFunction<R>?

LongFunction<R>是在java.util.function包中定义的内置函数接口。 此函数接口需要long值参数作为输入并生成结果。 LongFunction<R>接口可以用作lambda表达式或方法引用的赋值目标。 它只包含一个抽象方法:Apply()。

语法

@FunctionalInterface
public interface LongFunction<R> {
   R apply(long value)
}

示例

import java.util.function.LongFunction;

public class LongFunctionTest {
   public static void main(String[] args) {      LongFunction<Long> function1 = (long i) -> {    // lambda 表达式
         return i + i;
      };
      System.out.println("使用Lambda表达式的结果: " + function1.apply(10));      
      LongFunction<Long> function2 = LongFunctionTest::add;    //方法引用
      System.out.println("使用方法引用的结果: " + function2.apply(20));
   }
   static long add(long i) {
      return i + i;
   }
}

输出结果

使用Lambda表达式的结果: 20
使用方法引用的结果: 40