检查数组是否为空行

时间:2016-04-01 07:04:18

标签: java arrays

我最近被要求在一行代码中检查数组是否为空。

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

int[] array = new int[5];

这将具有大小为5的数组,并且在每个索引中都为“0”。

你能帮我找一个单行代码来检查它是否为空?

2 个答案:

答案 0 :(得分:4)

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

Arrays.stream(array).anyMatch(x -> x != 0);

但它可以产生NullPointerException,如果你想避免它,你可以使用Optional

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

答案 1 :(得分:2)

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

    if (array.length == 0)
    

    如果您已将数组初始化为int[] array = new int[0];,则会发现它为空。

  • 如果您想检查数组是否 null ,请使用:

    if (arr == null) 
    
  • 如果您将空白定义为 ,其值不等于零 ,则条件为:

    Arrays.stream(array).anyMatch(element -> element != 0);
    

    将检查您的任何数组元素是否不等于零。

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