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

Scala List [Int]在Java中成为List

发布时间:2020-12-16 18:10:12 所属栏目:安全 来源:网络整理
导读:我在 Scala对象中定义了以下列表: object Foo { val bar = List(1,2,3)} 这似乎成为了一个scala.collection.immutable.List Object当我尝试从Java使用它时.因此,我必须使用像Foo.bar()这样的getter.应用$mcII $sp(i)或者使用强制类型转换为Integer / int.
我在 Scala对象中定义了以下列表:

object Foo {
    val bar = List(1,2,3)
}

这似乎成为了一个scala.collection.immutable.List< Object>当我尝试从Java使用它时.因此,我必须使用像Foo.bar()这样的getter.应用$mcII $sp(i)或者使用强制类型转换为Integer / int.

为什么泛型类型是Object而不是Integer?对于以Java原语存在的类型,似乎也只是这种情况;列表[MyType]变为List< MyType>在斯卡拉.

解决方法

我遇到了一个类似的问题,Swagger对Scala反应不佳.

我不知道为什么,但是这个bug /特性与Java的原语有关,它们没有setter和getter(就像对象一样).由于Java编译器无法找到适合的对象,因此只需将其编译为Object.

Scala集合已经使转换器解决了这个问题:https://docs.scala-lang.org/overviews/collections/conversions-between-java-and-scala-collections.html

我能想到的唯一解决方法是使用:Foo.bar.toJava

资料来源:
Deserializing Scala list with Jackson

https://stackoverflow.com/a/52581955/2291510

Spring RequestParam formatter for Scala.Option

祝好运!

(编辑:李大同)

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

    推荐文章
      热点阅读