Intellij 长 "integer value is too big" 但在 long.maxvalue 范围内

Intellij long "integer value is too big" but in range of long.maxvalue

这可能是一件愚蠢的事情,但是编译器怎么可能在 Long.Max = 9223372036854775807 时显示它?

把'l'或'L'放在最后就可以了,比如:

long a = 9223372036854775807L;

您必须在 Java 中有 Long 个以 L 结尾的文字,向您的整数添加 L 将解决您的问题,如下所示:Long s = 9223372036854775806L

这是因为默认情况下 Java 将所有整数解释为 32 位 (int),后缀 L 确保您的整数被解释为 64 位。

使用Long s = 9223372036854775806L