[炭烧有话说]:
Java Stream 已经出现很长时间了,但很多Java程序员还是不理解它的工作方式。
不会 Stream 不要紧,我们开发的时候可以不用 Stream,但理解 Stream 是咋回事还是非常必要的,至少得能看懂别人代码中的 Steam 是吧。
下面就通过一段代码,逐条说明每行代码的含义,然后再对照一下不使用 Stream 的用法,之后就可以轻松理解 Stream 的用法了。
1. Stream 示例代码解析
这段 Stream 代码共有 5 行,下面看每一行都是什么意思。
第1行
第一行我们分成2部分来看,一是内部的 Lambda 表达式:
num -> num + 4
这就是一个非常简单的方法,等价于:
int xxx(int num){
return num + 4;
}
传入参数 num,然后返回 +4 后的结果。
第2部分是 Stream.iterate() 方法,此方法会创建一个无限的流,第一个参数 “4” 就是流的起点,第二个参数 Lambda 表达式用