gpt4 book ai didi

kotlin - 为什么Kotlin不接受文字 “-9223372036854775808”(最小64位带符号整数)?

转载 作者:行者123 更新时间:2023-12-02 12:39:25 25 4
gpt4 key购买 nike

我试图在kotlin中为JVM写一个快速的json解析器。

我发现了这个问题,我不确定这是错误还是背后的任何正当理由。

val x: Long = -9223372036854775808L  // compile error

最佳答案

这被标记为kotlin KT-17172中的错误。

如您所见,stdlib使用以下代码:

public const val MIN_VALUE: Long = -9223372036854775807L - 1L

您还记得Kotlin中的一元运算符 -吗?如果将 MIN_VALUE分成特殊部分,您可能会清楚地看到它。例如:
val x: Long = -(9223372036854775808L);
// ^--- the value overflow since the MAX_VALUE is 9223372036854775807L

关于kotlin - 为什么Kotlin不接受文字 “-9223372036854775808”(最小64位带符号整数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44743364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com