Scala 可迭代和 java 可迭代

Scala iterable and java iterable

我正在使用 scala 开发 java 库。

我得到了这样的东西:

def myFunc(): Thing[Iterable[T]] = {
  // call java lib for the result
  ...
  javaResult  // Problem: it's Thing[java.lang.Iterable[T]]
}

所以你看到的问题是 java 东西的 return 类型是 Thing[java.lang.Iterable[T]]。我试过导入 scala.collection.JavaConverters._ 但这不起作用。请注意,我无权访问 java 库,并且我无法提取该可迭代对象,然后用 scala 重建一个 Thing 对象。

我可以将 return 类型注释为 java.lang.Iterable 但由于 scala 和 java 旨在一起工作,我想知道是否有一些方法可以优雅地解决这个问题?

"Designed to work together"就是说你可以returnThing[java.lang.Iterable[T]]。 它看起来确实是你唯一的选择。