Java:如何获得Integer(对象)数组的大小?

时间:2014-11-04 19:11:05

标签: java integer

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

假设:

Integer[] arr = new Integer[5];
    arr[0] = 2;
    arr[1] = 2;
    arr[2] = 3;

然后数组将显示为{2,2,3,null,null}

如何获得数组的大小?在这种情况下,大小为5

1 个答案:

答案 0 :(得分:4)

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

int length = arr.length; // 5

来自JLS section 10.7

  

数组类型的成员是以下所有成员:

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

如果要计算非空值,可以使用以下内容:

int count = 0;
for (Integer value : arr) {
    if (value != null) {
        count++;
    }
}

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