Java中如何使用lambda表达式实现ToLongFunction<T>?

ToLongFunction<T>是中定义的函数接口java.util.function函数包裹。此函数接口接受引用类型作为输入,并生成长值结果。ToLongFunction<T>接口可用作lambda表达式或方法引用的赋值目标。它只包含一个抽象方法:applyAsLong()。

语法

@FunctionalInterface
interface ToLongFunction<T> {
   long applyAsLong(T value);
}

示例

import java.util.*;
import java.util.function.ToLongFunction;

public class ToLongFunctionTest {
   public static void main(String args[]) {
      List<String> list = new ArrayList<String>();
      list.add("11");
      list.add("22");
      list.add("33");
      list.add("44");
      list.add("55");
      ToLongFunction<String> function = (String item) -> Long.valueOf(item);  // lambda 表达式
      list.stream().mapToLong(function).forEach(System.out::println);
   }
}

输出结果

11
22
33
44
55