加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:57:59 所属栏目:Java 来源:网络整理
导读:我必须调用一些返回无类型 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: Buffe
我必须调用一些返回无类型 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集合.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读