2015-11-02 173 views
0

当我在java 8 Stream s上使用collect方法时,Groovy正在抛出一个奇怪的错误。这是我的代码:Groovy gdk命名空间冲突

someStream.collect(Collectors.toList()) 

这是错误:

Caught: groovy.lang.MissingMethodException: No signature of method: java.util.stream.LongPipeline$8.collect() is applicable for argument types: (java.util.stream.Collectors$CollectorImpl) values: [[email protected]] 
Possible solutions: collect(), collect(groovy.lang.Closure), collect(java.util.Collection, groovy.lang.Closure), collect(java.util.function.Supplier, java.util.function.ObjLongConsumer, java.util.function.BiConsumer), close(), count() 
groovy.lang.MissingMethodException: No signature of method: java.util.stream.LongPipeline$8.collect() is applicable for argument types: (java.util.stream.Collectors$CollectorImpl) values: [[email protected]] 
Possible solutions: collect(), collect(groovy.lang.Closure), collect(java.util.Collection, groovy.lang.Closure), collect(java.util.function.Supplier, java.util.function.ObjLongConsumer, java.util.function.BiConsumer), close(), count() 

我如何避免这种情况?

回答

1

您使用的是什么版本的Java 8我看不到LongPipeline在?

的唯一参考LongPipeline我能找到的,只有以下收集方法:

collect(Supplier<R> resultFactory, 
     ObjLongConsumer<R> accumulator, 
     BiConsumer<R, R> combiner) 

,你可以在异常看你是被显示:

collect(java.util.function.Supplier, java.util.function.ObjLongConsumer, java.util.function.BiConsumer) 

所以即便在Java中,你将无法致电

someStream.collect(Collectors.toList()) 
+0

呃..那就解释一下吧。现在我怎么做到这一点工作....感谢您的答案! –