
使用Streams API相比起使用循環(huán)和if語句更加清晰明了。例如:

IDEA會建議重構(gòu)為:

我做的性能測試表示這個重構(gòu)是令人驚奇的-無論性能是不變、提升還是變差,都是不能被預(yù)測的。因此,當(dāng)你的應(yīng)用對性能要求很苛刻的話,重構(gòu)的時候務(wù)必做好測試。
當(dāng)遍歷數(shù)組時使用循環(huán)
使用Java8并不是意味著你必須到處都使用Stream和新的集合方法。IDEA會智能提示哪些地方可以轉(zhuǎn)換為Stream操作,但是并不意味著你必須這么做。
特別是當(dāng)遍歷一個保存基本數(shù)據(jù)類型的小數(shù)組時,使用loop循環(huán)的性能是更加好的,而且更加可閱讀(至少對哪些Stream的新手來說是這樣的)。
以上的建議,并非是固定不變,也不是必須要遵守的。但是無論你傾向于繼續(xù)使用loops做某些操作還是在能夠使用的地方使用Stream API, 你都要做出你自己的決定。