为什么kotlin错了:val minT:Long = -9223372036854775808L //Long.MIN_VALUE

时间:2017-09-26 09:42:28

标签: intellij-idea kotlin

Kotlin的Long.MIN_VALUE == -9223372036854775808,但是当我写道:

val minT: Long = -9223372036854775808L //Long.MIN_VALUE

IDEA说这是错误的。

Dmitry Jemerov告诉我这一点,因为Kotlin中的-符号不是常数的一部分,而是应用于常数值的一元减号运算符,并且9223372036854775808L比Long的最大可能正值大1类型。

但是现在,为什么Int是对的:

val minI: Int = -2147483648 //Int.MIN_VALUE

看这里:

enter image description here

1 个答案:

答案 0 :(得分:0)

我相信他们的约束可能因为Long而需要在-9223372036854775808到9223372036854775808之内。