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

如何将scala Int转换为java Integer?

发布时间:2020-12-16 18:13:03 所属栏目:安全 来源:网络整理
导读:我是 scala的新手,并且同时使用 scala和 Java. 我试图将scala Int传递给接受Integer(java.long.Integer)的方法.由于它们的类型不同,编译器会给出错误. /* name- Option[String],id- Option[Integer],mask- Option[String]*/ new findingFrame(name,id,mask)
我是 scala的新手,并且同时使用 scala和 Java.

我试图将scala Int传递给接受Integer(java.long.Integer)的方法.由于它们的类型不同,编译器会给出错误.

/* name- Option[String],id- Option[Integer],mask- Option[String]*/
 new findingFrame(name,id,mask)

 case class findingFrame(name: String,id: Option[java.lang.Integer],mask : Option[String])

我尝试使用.instanceOf [java.lang.Integer],但这也不起作用..

我不知道如何解决这个问题.有人能帮帮我吗?
谢谢.

解决方法

我认为大多数其他答案都涵盖了它,你的问题是使用Option,而不是scala和java整数之间的区别.您可以使用选项执行许多操作,例如:
鉴于:

val optionOfInteger = Option(5)

>(丑陋)假设你的选项总是有一个值,只需使用get(val i = optionOfInteger.get)
>应用默认值:(val i = optionOfInteger.getOrElse(0))
>您可以将整数选项映射到其他选项(val optionOfString = optionOfInteger.map(_.toString))
>您可以在一次调用中执行最后两次操作(val str = optionOfInteger.fold(“Nothing”)(_.toString))
>您也可以将Option视为一个集合的集合,因此您可以使用选项对集合执行的所有好处,包括将其转换为其他类型的集合,折叠等等.
在你的情况下,它的一个很好的用途,可能是决定调用或不调用java方法.

def myFn(findingFrame:FindingFrame)= {
????????findingFrame.in.foreach {i => javaMethod(i)}
????}

在上面你可以使用map或match / case.

(编辑:李大同)

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

    推荐文章
      热点阅读