64 位整数与 32 位整数具有相同的限制

64bit Integer has the same limit as 32bit integer

这只是一个简短的问题,但我仍然很好奇。当我用最高值 2147483647 初始化一个 int 变量时就没问题了。但是当我想初始化一个 long 并将其分配给它的最大值时,它给了我一个 "number too large" 错误

int i = 2147483647;
long j = 9223372036854775807;

9223372036854775807 是一个 int 字面量,但太大而不适合 int,因此出现错误。您可以使用 long 文字,而不是在其末尾添加 L

long j = 9223372036854775807L;
// Here --------------------^