关于lambda:map和peek区别

10次阅读

共计 411 个字符,预计需要花费 2 分钟才能阅读完成。

1.Stream<T> peek(Consumer<? super T> action);

peek 办法接管一个 Consumer 的入参。理解 λ 表达式的应该明确 Consumer 的实现类 应该只有一个办法,该办法返回类型为 void

Consumer<Integer> c =  i -> System.out.println("hello" + i);

2.<R> Stream<R> map(Function<? super T, ? extends R> mapper);

Function 的 λ 表达式 能够这样写

Function<Integer,String> f = x -> {return  "hello" + i;};

咱们发现 Function 比 Consumer 多了一个 return。
这也就是 peek 与 map 的区别了。

总结:peek 接管一个没有返回值的 λ 表达式,能够做一些输入,内部解决等。map 接管一个有返回值的 λ 表达式,之后 Stream 的泛型类型将转换为 map 参数 λ 表达式返回的类型

正文完
 0