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

java 8object oriented programmingprogramming

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

相关文章