gpt4 book ai didi

scala - 值类类型的隐式转换?

转载 作者:行者123 更新时间:2023-12-01 11:07:17 25 4
gpt4 key购买 nike

我读到有关在不同值类类型之间进行的隐式转换。 《Programming in Scala》一书指出:

[...] an instance of class scala.Int is automatically widened (by an implicit conversion) to an instance of class scala.Long when required.

(Ch. 11.1 - Scala's Hierarchy)

在这种情况下,“必需”是什么意思?怎样才能使这个“可见”?我假设:

scala> var i = Int.MaxValue
i: Int = 2147483647

如果我加 1,我期待 i: Long = 2147483648

scala> i = i + 1
i: Int = -2147483648

我没想到会看到溢出。

最佳答案

“必需”是指需要将 Long 传递给 Int 之类的方法。

Int.+ 不需要 Long。在大多数情况下,Int 的行为就像 Java 的原始整数类型。

关于scala - 值类类型的隐式转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4160189/

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