gpt4 book ai didi

scala - Scala 中 Int 和 Integer 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 06:03:12 25 4
gpt4 key购买 nike

我正在使用一个已声明为 Integer 的变量,并发现 > 不是 Integer 的成员。这是一个简单的例子:

scala> i
warning: there were deprecation warnings; re-run with -deprecation for details
res28: Integer = 3

scala> i > 3
<console>:6: error: value > is not a member of Integer
i > 3
^

将其与 Int 进行比较:

scala> j
res30: Int = 3

scala> j > 3
res31: Boolean = false

Integer 和 Int 有什么区别?我看到了弃用警告,但我不清楚为什么它被弃用,而且既然已经被弃用,为什么它没有 > 方法。

最佳答案

“Integer 和 Int 有什么区别?”

Integer 只是 java.lang.Integer 的别名。 Int 是具有额外功能的 Scala 整数。

查看 Predef.scala 你可以看到这个别名:

 /** @deprecated use <code>java.lang.Integer</code> instead */
@deprecated type Integer = java.lang.Integer

但是,如果需要,可以从 Int 到 java.lang.Integer 进行隐式转换,这意味着您可以在采用 Integer 的方法中使用 Int。

至于为什么它被弃用,我只能推测是为了避免对您正在使用的整数类型产生任何混淆。

关于scala - Scala 中 Int 和 Integer 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1269170/

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