我正在尝试用 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/