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参数表达式返回的类型