【问题标题】:What is the data type for length property for Java arrays?Java 数组的长度属性的数据类型是什么?
【发布时间】:2010-09-17 16:48:14
【问题描述】:

我想知道 Java 数组的长度属性是 int/long 还是别的什么。

【问题讨论】:

    标签: java types limits


    【解决方案1】:

    它是一个整数。请参阅Java Language Specification,第 10.7 节。

    【讨论】:

    • 我真的看不到任何禁止使用 long 的东西,例如在性能更高的平台上。你只是不能用比 int 更大的东西来索引它。不过,这是一个理论上的讨论。 (是的,我看到了这个例子,但这不是规范)。
    【解决方案2】:

    数据类型是int,不长。与索引相同。

    http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html, 10.4

    【讨论】:

      【解决方案3】:

      根据specification,是int

      【讨论】:

        【解决方案4】:

        Java Language spec, Arrays 中你可以在 10.4 中看到:

        数组必须由 int 值索引; short、byte 或 char 值也可以 用作索引值,因为它们 受到一元数字 提升并成为int值。 尝试访问数组 具有长索引值的组件 导致编译时错误。

        我找不到长度属性的类型,但它至少是一个int;如果它很长,那么您将无法访问超出最大整数长度的元素。

        所以我猜这是一个(最终的)int。

        【讨论】:

          【解决方案5】:

          在 JavaCard 中,数组索引很短,但 JavaCard 很奇怪。在其他任何地方,都像其他人所说的那样。

          【讨论】:

            猜你喜欢
            • 2017-09-20
            • 1970-01-01
            • 1970-01-01
            • 2011-02-25
            • 1970-01-01
            • 2013-07-03
            • 2021-12-07
            • 2021-01-17
            • 1970-01-01
            相关资源
            最近更新 更多