は、これを入力してください。タイプ、INT、など
scala> 86400000 * 150
res0: Int = 75098112
scala> val i : Long = 86400000 * 150
i: Long = 75098112
val i = 86400000 * 150.asInstanceOf[Long]
i: Long = 12960000000
val i = 86400000 * 150L
i: Long = 12960000000
世界でここで何が起こっているの?私はスカイダイビングをしていて、これは私が今までに見た中で最も危険なことだと言わざるを得ない。このためのコンパイラチェックはありませんか?明らかに、もし私が違う変数に150を代入していたら?
* EDIT *
これは私が心配していた実際のコードでした。
val oneDay = 86400000
val days150 = oneDay * 150
days150 = 75098112
これは、私自身以外のScalaのフォルトまたはフォールトフォルトではありませんでした。ちょうど私が心配した。
この質問に投票しないでください。これは正当な質問であり、整数のオーバーフローは非常に危険であり、実際のプログラムで実際の問題を引き起こします。 Scalaだけではなく、多くの言語で共通するという事実は、価値のある投票にはならないということです。 –
本当に大きな番号が必要な場合は、常に[BigInteger](http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html)があります。少し不器用ですが、うまくいきます。 –
投票に参加しました。これは質問よりも暴言です。さまざまな例は、質問者が何が起こっているかを正確に知っていることを示しています。 –