Java长无后缀

我读过要声明一个 long,你需要在数字后缀lL

到现在为止还挺好。但是,如果我省略这个后缀会发生什么?

long l1 = 100l; // ok
long l2 = 100L; // ok

long l3 = 100; // ?

l3现在的整数或还有很长?

回答

long l3 = 100声明一个 long,给int它分配一个(100是一个 int 字面量),这导致 int 被隐式提升为 long。

int范围,然而,有限制。有一些long没有L后缀就不能声明的有效值:

long l3 = 2147483648; //doesn't compile

2147483647是 int 的最大值,如果没有l后缀作为 long literal,则不能使用高于它的任何值。事实上,2147483648在 Java 源代码中的任何地方使用都不会编译,因为没有任何后缀,文字应该是一个有效的 int,而这个数字对于 int 来说太大了。


以上是Java长无后缀的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>