2017-04-20 76 views
0

我有一个Array of Arrays。我想cckck如果“所有elemnets为空”。Java:如何检查“Array of Array”是否为空/空?

这里是我如何创建Array of Arrays

double[][] arr = new double[extrasSize][] 

数组的大小取决于我从一个活动传递到另一个一个Android束)

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

然后再次,如果我必须使用(arr == null)那么我需要通过数组中的每个单个元素。这可能是最简单的解决方案,但绝对不是最聪明的解决方案。特别是,如果这些elemnets数量巨大而且不固定。

是否有另一种方法检查Array of Arrays是否为空/空?

+1

“这可能是最简单的解决方案,但绝对不是最聪明的解决方案” - 为什么不是最聪明的解决方案?每个数组条目可能为空,为空或不为空。你必须检查每一个。 – f1sh

+2

您正在使用基元(双小写D)。原始值永远不能为空。你问如何检查嵌套数组是否为空? –

+0

如果你的数组中有空数组,你必须迭代每一个数组并检查它们是否为空。你无法逃避。 –

回答

0

不知道你在问什么:

double[][] arr = new double[extrasSize][] 

创建一个空数组,拿着extrasSize插槽,每个持有double[]。这些插槽在创建时为空。

如果您想稍后检查;有没有其他办法,但遍历条目,看看他们是空的:

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

和公正的纪录:ARR插槽指向翻倍[]对象;所以最初他们是null。当你创建一个这样的双[]数组,该槽是双号,而且都将是0

0

你可以简单地检查为:

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

这个简单的代码将在所有的单维返回true你数组是null(在你的二维数组中)。