int 类型的最大十进制文字是 2147483648。
这个陈述是否可以被认为是正确的,因为Integer.MAX_VALUE
是2147483647
?
请注意,上述声明中的重点是“int”。如果有人认为它是在“十进制文字”的上下文中讨论的,那么即使 2147483649
如此,也应该是正确的。
所以,如果某物是某种类型,int
那么它的最大值必须是2147483647
。
是我弄错了还是应该更新该声明?
请注意,没有负整数文字,Integer.MIN_VALUE
为 -2147483648。因此-2147483648
被解析为 \xe2\x80\x9capply 一元减法到 2147483648\xe2\x80\x9d。如果 2147483648 不是有效的十进制int
文字或者您无法使用int
Integer.MIN_VALUE
直接在程序中使用值文字,那将非常糟糕。
旁注:JLS定义正确的内容。所以根据定义它是正确的。不过,这可能很糟糕。
\n