Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何确定我的数组是否为空_Java_Arrays_Primitive Types - Fatal编程技术网

Java 如何确定我的数组是否为空

Java 如何确定我的数组是否为空,java,arrays,primitive-types,Java,Arrays,Primitive Types,我需要帮助来检查我的阵列是否已满,或者是否可以在其中容纳更多阵列。我想我可以通过执行以下操作来检查是否只有一个位置是空的: for (int i =0; i <array.length; i++){ if(array[i] == null){ return false; }else{ return true; } } for(int i=0;i基元类型不能为null,这就是为什

我需要帮助来检查我的阵列是否已满,或者是否可以在其中容纳更多阵列。我想我可以通过执行以下操作来检查是否只有一个位置是空的:

    for (int i =0; i <array.length; i++){
        if(array[i] == null){
            return false;
        }else{
            return true;
        }
    }

for(int i=0;i基元类型不能为
null
,这就是为什么它不起作用。对于对象,它会起作用。在这种情况下,可以使用以下代码:

public boolean isArrayFull(Integer[] array) {
    for (Integer i = 0; i < array.length; i++) {
        if (array[i] == null) {
            return false;
        }
    }
    return true;
}
public boolean isArrayFull(整数[]数组){
for(整数i=0;i
这也修复了代码中的一个bug。如果第一个元素不为null,代码将返回true

if(array.length == 0){
    //array is empty
}

应该足够了

Java数组中没有“空”元素

因此,如果它是一个对象数组,您将使用“==null”进行测试

但是如果它是一个基元类型的数组,并且您没有为该位置分配任何内容,那么它的值将为零

因此,除非您确定0永远不会是“有效”值,否则不能仅在数组中的“空”位置插入


请参阅:

还有一个问题和答案供您参考

答案是:

 for(int i=0;i<newData.length;i++)
    {
        if(newData[i]==0)
            System.out.println("The value at " + i + "is empty");
    }

for(inti=0;i尝试将数组声明为对象,而不是传统数组。
例:


您的数组是否总是
int[]类型
?基元类型永远不能为null,因此会出现该错误。是的,它将与object而不是int一起工作。对于测试,请使用Integer而不是int。您将能够检查null。为什么要将null放入数组中?如果它们是int,则使用可以为null的Integer并自动强制转换为int可能重复的@StackFlowed,则不会也适用于对象,因为它只检查数组的第一个元素并立即返回。检查最多只能检查数组的长度是否为0,而不是数组中是否有任何元素
 for(int i=0;i<newData.length;i++)
    {
        if(newData[i]==0)
            return false;
    }

return true;
Object array[] = new Object[size];