gpt4 book ai didi

scala - 覆盖 Predef 的隐式转换

转载 作者:行者123 更新时间:2023-12-04 14:44:57 25 4
gpt4 key购买 nike

我有多个返回 java.lang.Integer 的方法,然后使用 Scala 的 Predef 隐式转换将其隐式转换为 Int,这是它的编写方式 there :

implicit def Integer2int(x: java.lang.Integer): Int = x.intValue

这种转换对我来说并不令人满意,我想要一些类似的东西:
implicit def Integer2int(x: java.lang.Integer): Int = 
Option(x).getOrElse(new Integer(0)).intValue

Integer有时可以是 null在这种情况下,Predef 的隐式转换也返回 null,我希望它改为 0。

我写了自己的转换,但我不断收到错误消息,说这个声明不明确,因为它已经在 Predef 中声明了。

我的问题是,有没有办法真正覆盖 Predef 的隐式转换?

最佳答案

您可以禁用 Predef像这样导入:

import scala.Predef.{Integer2int => _}

然后重新定义 Integer2int如你所愿。

搞笑证明: http://ideone.com/R7Zyfd

关于scala - 覆盖 Predef 的隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23816884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com