是否可以使用Groovy提供的增强型Collections方法,例如 findAll 和 Collect 和迭代器(类 java.util.Iterator )?
答案 0 :(得分:6)
大多数增强方法(包括findAll
和collect
) 都可以使用迭代器。您可以在控制台中测试它:
assert [1,2,3].iterator().findAll{ it % 2 } == [1,3]
assert [1,2,3].iterator().collect{ it * 2 } == [2,4,6]
查看DefaultGroovyMethods以获取groovy提供的额外方法列表。通常,只要您的类是第一个arg类型的实例,该方法就适用于您的类。对于collect
和findAll
,迭代器使用Object
版本。像collectMany
这样的其他人有一个特定于迭代器的版本。