for (Canvas canvas : list) {
}
NetBeans建议我使用“功能操作”:
list.stream().forEach((canvas) -> {
});
但是,这是为什么首选?如果有的话,很难阅读和理解。您正在调用stream()
,然后forEach()
使用带参数的lambda表达式canvas
。我看不出有什么比for
第一个片段中的循环更好。
显然,我只是出于美学目的。也许这里缺少我的技术优势。它是什么?为什么我应该改用第二种方法?
3
netbeans.org/bugzilla/show_bug.cgi?id=241035
—
蚊蚋
在您的特定示例中,它不是首选。
—
罗伯特·哈维
只要唯一的操作是forEach,我倾向于同意您的看法。一旦将其他操作添加到管道中,或者产生了输出序列,流方法就变得可取了。
—
JacquesB 2015年
@RobertHarvey不是吗?为什么不?
—
萨拉
@RobertHarvey好吧,我同意被接受的答案确实表明了在更复杂的情况下for-version是如何被淘汰的,但是我不明白为什么在琐碎的情况下“胜出”。您说这是不言而喻的,但我看不到,所以我问。
—
萨拉