在 Scala 中迭代 Guava ImmutableList

Iterate over Guava ImmutableList in Scala

我在 Scala 中从 Guava 迭代 ImmutableList 时遇到问题。我与他们一起工作的唯一原因是因为我正在使用使用 Guava API 用 Java 编写的代码。然而,编译器似乎并不喜欢它。这是我的代码:

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) {
                      ^

非常感谢任何帮助。 谢谢!

要使用 Scalas for 表达式,对象必须实现 flatMapfilter,而 guava 集合不会。 ScalaJava 转换器捆绑在一起,这应该有效:

import collection.JavaConverters._
for (blockData: IBlockData <- block.P.a.asScala) {
  *insert actions here*
}