3
我讀了關於在不同的值類類型之間進行的隱式轉換。這本書「在Scala編程」規定:值類類型的隱式轉換?
[...]必要時
scala.Int
類的實例會自動擴大(由隱式轉換),以scala.Long
類的一個實例。(11.1章 - Scala的層次)
什麼是 「必需的」 的意思是在這種情況下?如何讓這個「可見」?我認爲:
scala> var i = Int.MaxValue
i: Int = 2147483647
我期待i: Long = 2147483648
如果我加1
scala> i = i + 1
i: Int = -2147483648
我不希望看到溢出。
所以這只是一種方便的方式來傳遞一個「較小」的值類型作爲參數? – rdoubleui 2010-11-11 23:18:39
對。如果你擔心溢出,你需要使用BigInt。出於性能原因,標準的Int類型是基本整數。即大多數時候,您不需要檢查操作,並且它會減慢速度。 – 2010-11-11 23:25:03
謝謝你們! – rdoubleui 2010-11-12 00:14:36