Groovy对于Java 8的.map()
的替代方案是什么?
例子:
List<String> codes = events
.stream()
.map(event -> event.getCode())
.collect(Collectors.toList());
我正在尝试做
events.each { it; return it.getCode() }.collect() as String[]
但是我得到的是
List
的String
,但是是toString()
表示形式而不是代码
最佳答案
考虑如下所示的collect
方法:
class Event {
def code
def name
}
def events = []
events << new Event(code: '001', name: 'a')
events << new Event(code: '002', name: 'b')
def codes = events.collect { it.code }
assert ['001','002'] == codes
注意,等效的Groovy习惯用法是spread-dot operator:def codes = events*.code
关于java - Java8的.map()流操作的Groovy替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47184576/