【问题标题】:Java: Is there a difference between L and l (lowercase L) when specifying a long?Java:指定long时L和l(小写L)有区别吗?
【发布时间】:2017-04-18 14:56:20
【问题描述】:

当我将一个数字指定为long 和常量值400 时,使用400L400l 之间有什么区别吗?

它与包装器类型有什么关系吗? L 是否用于获取原始数据类型long 的包装器Longl

【问题讨论】:

    标签: java types wrapper long-integer


    【解决方案1】:

    没有实际的区别。可以使用Ll,两者都表示long 原语。此外,任何一个都可以是 autoboxed 到对应的 Long 包装器类型。

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

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

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

    【讨论】:

    • longs 是否比 Longs 更频繁地给出空指针异常?
    【解决方案2】:

    是的:它的可读性。

    乍一看很容易把400l误认为是四千零一。

    我发现它更有可能正确解释为大写 L 的长度为 400。

    【讨论】:

    • 那为什么他们有小写long作为对象类型呢?
    • @CollinFox long 是 Java 中的原始 64 位数据类型。 Long 是一个对象类型。
    猜你喜欢
    • 2018-09-09
    • 2011-12-23
    • 1970-01-01
    • 2012-01-18
    • 2015-03-30
    • 2012-03-29
    • 1970-01-01
    • 2010-12-26
    • 2011-01-01
    相关资源
    最近更新 更多