Java:如何检查;数组的数组";是否为空/空?

Java:如何检查;数组的数组";是否为空/空?,java,arrays,Java,Arrays,我有一个数组。我想检查是否“所有元素都为空” 下面是我如何创建数组的数组: double[][] arr = new double[extrasSize][] (数组的大小取决于我从一个活动传递到另一个活动的Android捆绑包) 显然,我不能使用(arr.length==0) 同样,如果我必须使用(arr==null),那么我需要遍历数组中的每个元素。这可能是最简单的解决方案,但肯定不是最聪明的。特别是,如果这些元素的数量是巨大的,并且不是固定的 是否有其他方法检查数组的数组是否为空/空?不

我有一个
数组
。我想检查是否“所有元素都为空”

下面是我如何创建数组的
数组

double[][] arr = new double[extrasSize][]
(数组的大小取决于我从一个活动传递到另一个活动的Android捆绑包)

显然,我不能使用
(arr.length==0)


同样,如果我必须使用
(arr==null)
,那么我需要遍历数组中的每个元素。这可能是最简单的解决方案,但肯定不是最聪明的。特别是,如果这些元素的数量是巨大的,并且不是固定的


是否有其他方法检查数组的
数组是否为空/空?

不确定您要的是什么:

double[][] arr = new double[extrasSize][]
创建一个空数组,包含
extrasSize
插槽,每个插槽都包含一个
double[]
。这些插槽在创建时为空

如果你想稍后检查;除了迭代条目并查看它们是否为null之外,没有其他方法:

for (int i=; i < arr.length; i++) {
  if (arr[i] == null) { ...
for(int i=;i

记录如下:arr插槽指向double[]对象;因此它们最初为null。当您创建这样一个double[]数组时,插槽是双数,并且都是0。

您可以简单地检查为:

boolean isAllNull =Arrays.stream(arr).allMatch(singleArray -> singleArray == null);

如果所有的一维数组都
null
(在二维数组中),此简单代码将返回
true

“这可能是最简单的解决方案,但肯定不是最聪明的解决方案”-为什么不是最智能的一个?每个数组条目可能为null、空或不为空。您必须检查每个条目。您使用的是原语(双精度,小写D)。基元值不能为null。您是否在询问如何检查嵌套数组是否为null?如果数组中有空数组,则必须迭代每个数组并检查它们是否为空。您无法逃避此问题。@JanusVarmarken该值可能不是null,但其中一个内部数组或外部数组可能为
null
。例如实例
arr[0]==null
可能是
true
。有没有办法在同一时间检查所有数组元素?而不单独查看每个元素?我想,在二进制世界中,做任何你想做的事,都会在你的内存中逐个检查所有数组元素。我错了吗?