此#1 post讨论了数字溢出的潜在问题,如果不追加L
多项:避免溢出
下面是来自REPL一个例子:为了避免这个问题是
scala> 100000 * 100000 // no type specified, so numbers are `int`'s
res0: Int = 1410065408
的一种方式使用L
。
scala> 100000L * 100000L
res1: Long = 10000000000
或指定数量的类型:
scala> val x: Long = 100000
x: Long = 100000
scala> x * x
res2: Long = 10000000000
怎样才算正确指定数量的类型的最佳实践?
这实在是一个意见问题。对此没有普遍接受的最佳做法。我只是使用'L'后缀。 – Jesper
这不是一个意见问题。添加一个'L'指定正确的类型,然后使用归属进行转换。 –
根据丹尼尔的评论,为什么我得到了低票? –