Java:如何获取整数(对象)数组的大小?

Hei*_*erg -2 java integer

我说的是Integer对象数据类型,而不是原始数据类型int

假设这样:

Integer[] arr = new Integer[5];
    arr[0] = 2;
    arr[1] = 2;
    arr[2] = 3;
Run Code Online (Sandbox Code Playgroud)

那么数组将如下所示{2,2,3,null,null}

我怎样才能得到数组的大小?在本例中,大小为 5

Jon*_*eet 5

与任何其他数组相同的方式 - 您使用该length字段:

int length = arr.length; // 5
Run Code Online (Sandbox Code Playgroud)

来自JLS 第 10.7 节

数组类型的成员如下:

  • 公共最终字段length,其中包含数组的组成部分的数量。长度可以是正数或零。
  • ...

如果你想计算非空值,你可以使用类似:

int count = 0;
for (Integer value : arr) {
    if (value != null) {
        count++;
    }
}
Run Code Online (Sandbox Code Playgroud)

(我确信有一种聪明的方法可以使用 Java 8 中的流 API 以更少的行数完成此操作,但现在让我们保持简单......)

  • @SnakeDoc:我不这么认为 - 看一下问题:“在这种情况下,大小是 5” (3认同)