微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将无类型的java.util.List转换为Scala 2.8缓冲区

我必须调用一些返回无类型 java.util.List的 Java代码,我似乎无法将其转换为Scala 2.8列表,而不会出现编译器borking,并出现以下错误
[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列表.如何转换无类型列表?

解决方法

我想你只需要把它变成正确的类型.
val modules: Buffer[AnyRef] = 
  FeedEntry.getModules.asInstanceOf[java.util.List[AnyRef]]

Scala可以从那里获取它并应用JavaConversions的隐式转换将其包装为Scala集合.

原文地址:https://www.jb51.cc/java/128366.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐