2
科特林的Long.MIN_VALUE == -9223372036854775808,但是當我寫:爲什麼科特林錯誤:VAL薄荷:龍= -9223372036854775808L //Long.MIN_VALUE
val minT: Long = -9223372036854775808L //Long.MIN_VALUE
IDEA說,這是錯誤的。
梅德Jemerov告訴我,這是因爲在科特林的-
標誌是不固定的一部分,而是元減運算符應用於恆定值,並且9223372036854775808L比爲長型的最大可能正值較大的一個。
但是現在,爲什麼int是正確的:
val minI: Int = -2147483648 //Int.MIN_VALUE
看吧:
我不確定我100%瞭解你的問題 - 你是否期望'val minI:Int = -2147483648'也會引發錯誤? –
注意:在kotlin-stdlib中,此常量被定義爲「public const val MIN_VALUE:Long = -9223372036854775807L - 1L」(您可以導航到聲明「Long.MIN_VALUE」)。 – hotkey
是的。我期望'val minI:Int = -2147483648'來提出一個錯誤。感謝您的回答,我讀過了Long的常數,而這正是您所說的。現在,我知道'val val minT:Long =(-9223372036854775807L - 1L)'是工作,但看起來很奇怪。 –