我在Scala中从Guava迭代ImmutableList
时遇到了麻烦。我使用它们的唯一原因是因为我正在使用用Java编写的使用Guava API的代码。但是,编译器似乎并不喜欢它。这是我的代码:
for (blockData: IBlockData <- block.P.a) {
*insert actions here*
}
编译器错误:
Error:(24, 43) value filter is not a member of com.google.common.collect.ImmutableList[net.minecraft.server.v1_8_R3.IBlockData]
for (blockData: IBlockData <- block.P.a) {
^
非常感谢任何帮助。 谢谢!
答案 0 :(得分:3)
要使用Scala
s for
表达式,对象必须实现flatMap
和filter
个guava
集合不能实现的Scala
和Java
。 import collection.JavaConverters._
for (blockData: IBlockData <- block.P.a.asScala) {
*insert actions here*
}
与Task
转换器捆绑在一起,这应该可行:
Paraller.For