如何将非类型化 java.util.List 转换为 Scala 2.8 缓冲区
我必须调用一些返回非类型化 java.util.List 的 Java 库代码,并且我似乎无法将其转换为 Scala 2.8 列表,而编译器不会出现以下错误:
[INFO] found : java.util.List[?0] where type ?0
[INFO] required: java.util.List[AnyRef]
[INFO] val modules: Buffer[AnyRef] = asScalaBuffer(feedEntry.getModules)
我已经尝试了正常的
import scala.collection.JavaConversions._
val modules: Buffer[AnyRef] = feedEntry.getModules
和显式的
val modules: Buffer[AnyRef] = asScalaBuffer(feedEntry.getModules)
我知道列表中项目的类型,并且我尝试将其设置为缓冲区的类型,但我不断收到相同的错误。
我环顾四周,但所有文档都假设要输入 Java 列表。如何转换非类型化列表?
I have to call some Java library code that returns an untyped java.util.List and I can't seem to convert this into a Scala 2.8 list without the compiler borking with the following error:
[INFO] found : java.util.List[?0] where type ?0
[INFO] required: java.util.List[AnyRef]
[INFO] val modules: Buffer[AnyRef] = asScalaBuffer(feedEntry.getModules)
I've tried both the normal
import scala.collection.JavaConversions._
val modules: Buffer[AnyRef] = feedEntry.getModules
as the explicit
val modules: Buffer[AnyRef] = asScalaBuffer(feedEntry.getModules)
I know the type of the items in the list and I've tried setting that as the type of the Buffer but I keep getting the same error.
I've looked around but all the documentation assumes the Java list to be typed. How do I convert untyped lists ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为你只需将其转换为正确的类型即可。
Scala 可以从那里获取它并应用 JavaConversions 的隐式转换将其包装为 Scala 集合。
I think you'll just have to cast it to the right type.
Scala can take it from there and apply the implicit conversion from
JavaConversions
to wrap it as a Scala collection.