Java:指定long时L和l(小写L)之间是否有区别?

Lip*_*eak 17 java types wrapper long-integer

当我指定一个long具有常数值的数字时400,使用400L和之间是否有任何区别400l

它与包装类型有一些关系吗?被L用来获取的包装Long,并l为原始数据类型long

Ell*_*sch 18

没有实际差别.任一Ll都可以使用,这两个指示long原语.此外,任何一个都可以自动装箱到相应的Long包装类型.

但是,值得注意的是JLS-3.10.1 - Integer Literals(部分)

如果整数文字long后缀为ASCII字母Ll(ell),则为整数文字; 否则它是类型int(§4.2.1).

后缀L是首选,因为字母l(ell)通常难以与数字1(一)区分开.

  • 所以,长话短说,主要是保留 l 与 L 的区别只是为了使其更具可读性。(并防止与数字 1 混淆) (2认同)

duf*_*ymo 8

是的:它的可读性.

400l当你第一眼看到它时,很容易误认为是四千零一.

我发现它更有可能正确地解释为四百长的大写L.

  • @CollinFox `long` 是 Java 中的一种原始 64 位数据类型。“Long”是一种对象类型。 (3认同)