在Java 8中,以下哪项更好?
Java 8:
joins.forEach(join -> mIrc.join(mSession, join));
Run Code Online (Sandbox Code Playgroud)
Java 7:
for (String join : joins) {
mIrc.join(mSession, join);
}
Run Code Online (Sandbox Code Playgroud)
我有很多可以用lambdas"简化"的for循环,但使用它们真的有什么好处吗?它会改善他们的性能和可读性吗?
编辑
我还将这个问题扩展到更长的方法.我知道你不能从lambda中返回或破坏父函数,在比较它们时也应该考虑到这一点,但还有什么需要考虑的吗?
使用外部迭代时,Iterable我们使用break或return来自增强型for-each循环:
for (SomeObject obj : someObjects) {
if (some_condition_met) {
break; // or return obj
}
}
Run Code Online (Sandbox Code Playgroud)
我们如何在Java 8 lambda表达式中使用break或return使用内部迭代,如:
someObjects.forEach(obj -> {
//what to do here?
})
Run Code Online (Sandbox Code Playgroud)