2

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

我发现了这个问题,我不确定这是一个错误或这背后的任何充分理由。

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

1 回答 1

4

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

正如你可以看到使用如下代码的标准库:

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

你还记得-kotlin 中的一元运算符吗?如果你把它MIN_VALUE分成特殊的部分,你可能会清楚地看到它。例如:

val x: Long = -(9223372036854775808L);
//              ^--- the value overflow since the MAX_VALUE is 9223372036854775807L
于 2017-06-25T05:13:40.923 回答