java
2021-10-30
2021-10-30
莫见乎隐,莫显乎微,故君子慎其独也。一一《礼记》
今天又给hutool提交了PR,将前两天写的动态函数式参数用了起来
https://gitee.com/dromara/hutool/pulls/445
[新特性]
你啊,总能给我整出点新花样
- 【以前使用
peek】
1 | |
- 【现在使用
peeks】
1 | |
什么?没看出有什么区别?都差不多???Na Na Na!接着往下看:
首先是它使用java动态参数(可变参数)的特性,你可以传入0个或n个你想要的操作,例如:
- 【以前使用
peek】
1 | |
- 【现在使用
peeks】
1 | |
它的额外价值:
你可以点进源码,查看并学习知识点:
1 | |
这里首先是@SafeVarargs这个注解
其次是Consumer函数式接口
然后还有<T>泛型参数
以及Consumer<T>...这三个点,动态参数(可变参数)
然后是Stream.of函数
接下来是reduce函数,它是Stream的reduce众多重载中的一个,也是我最喜欢的一个!
这里的第三个参数 (opts, opt) -> null其实并不会执行到该函数式接口所以直接返回了个null
因为这个参数只有并行流时才会生效,用于合并并行流异步出现的多个结果
看!经过这个函数你学到了多少知识点?!
不管该PR通过与否,我都相信学以致用,我希望大伙们学完了赶紧用起来,函数式编程不只是简单的炫技,它更是对技术探究的热情以及当今编程的趋势!