Java中如何使用lambda表达式实现ToLongFunction?
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