Java 8具有lambda ,它类似于Groovy已有一段时间的构造: 闭包 。
在Groovy中,我们已经可以这样做:
def list = ['a', 'b', 'c']
print list.collect { it.toUpperCase() }
// [A, B, C]
其中{ it.toUpperCase() }
是闭包。
在Java 8中,我们现在可以以简洁的方式实现相同的功能。
list.stream().map( s -> s.toUpperCase() )
尽管您可能会争辩说,通过正确使用新的Stream API,批量操作和方法引用,现在至少可以清楚地传达一段代码的意图