Java 检查一行中的数组是否为空

Java 检查一行中的数组是否为空,java,arrays,Java,Arrays,最近有人要求我检查一行代码中的数组是否为空 我的想法是使用array.length==0。但是如果数组是这样初始化的 int[] array = new int[5]; 这将具有大小为5的数组,并且每个索引中都有“0” 您能帮我找到一行代码来检查它是否为空吗?如果您想检查数组是否包含任何非零元素,您可以使用streams进行单行决策: Arrays.stream(array).anyMatch(x -> x != 0); 但是它会产生NullPointerException,如果您想避

最近有人要求我检查一行代码中的数组是否为空

我的想法是使用
array.length==0
。但是如果数组是这样初始化的

int[] array = new int[5];
这将具有大小为5的数组,并且每个索引中都有“0”


您能帮我找到一行代码来检查它是否为空吗?

如果您想检查数组是否包含任何非零元素,您可以使用streams进行单行决策:

Arrays.stream(array).anyMatch(x -> x != 0);
但是它会产生NullPointerException,如果您想避免它,可以使用
可选

Arrays.stream(Optional.ofNullable(array).orElse(new int[0])).anyMatch(x -> x != 0))

如果要检查数组是否包含任何非零元素,可以使用streams进行单行决策:

Arrays.stream(array).anyMatch(x -> x != 0);
但是它会产生NullPointerException,如果您想避免它,可以使用
可选

Arrays.stream(Optional.ofNullable(array).orElse(new int[0])).anyMatch(x -> x != 0))
  • 如果将empty定义为具有零元素的数组,则可以使用以下条件检查它是否为空:

    if (array.length == 0)
    
    只有将数组初始化为
    int[]array=newint[0]时,才会发现它为空

  • 如果要检查数组是否为空,请使用:

    if (arr == null) 
    
  • 如果将空定义为没有与零不同的值的,则条件:

    Arrays.stream(array).anyMatch(element -> element != 0);
    
    将检查数组的任何元素是否与零不同

  • 您还可以使用包
    org.apache.commons.lang3
    中的方法
    ArrayUtils.isNotEmpty(array)
    ,该方法确保数组既不为null也不为空

      • 如果将empty定义为具有零元素的数组,则可以使用以下条件检查它是否为空:

        if (array.length == 0)
        
        只有将数组初始化为
        int[]array=newint[0]时,才会发现它为空

      • 如果要检查数组是否为空,请使用:

        if (arr == null) 
        
      • 如果将空定义为没有与零不同的值的,则条件:

        Arrays.stream(array).anyMatch(element -> element != 0);
        
        将检查数组的任何元素是否与零不同

      • 您还可以使用包
        org.apache.commons.lang3
        中的方法
        ArrayUtils.isNotEmpty(array)
        ,该方法确保数组既不为null也不为空


      定义“空”。因为它有值,所以它不是空的。你说空是什么意思?你的意思是如果它是
      null
      ?@Maljam它不能包含null值,因为int不是objects@Stultuske我的意思是如果
      array==null
      @Maljam,那么就没有数组了。这和空不一样。定义“空”。因为它有值,所以它不是空的。你说空是什么意思?你的意思是如果它是
      null
      ?@Maljam它不能包含null值,因为int不是objects@Stultuske我的意思是如果
      array==null
      @Maljam,那么就没有数组了。这和空不一样。我们什么时候才能停止将东西限定为Java8?我看不到每个人都在警告泛型…我们什么时候才能停止将事物限定为Java8?我不认为每个人都会对泛型提出警告。。。