如何检查包含空元素的空String数组

时间:2015-01-26 13:46:43

标签: java arrays apache-commons

org.apache.commons.lang3.ArrayUtils提供了检查Array是否为空的方法,但例如对于String数组,其中包含空元素元素,意味着字符"",它返回true isNotEmpty()方法,这是正确的,因为该方法仅检查nulllength == 0

是否有其他方法或实现检查数组是否有空元素?

我可以自己做,迭代数组并手动删除这些元素,但我最好将任何库用作apache

任何提示?

3 个答案:

答案 0 :(得分:1)

我认为您必须手动执行此操作,使用StringUtils.isNotBlank(str)代替arrayUtils。这样你就不会在数组上迭代两次。

答案 1 :(得分:1)

使用Java 8:

final String[] strings = {"", "Hello", "World"};
final boolean containsEmptyString = Stream.of(strings)
            .anyMatch(string -> string == null || string.isEmpty());

答案 2 :(得分:0)

因此,手动方式可能只是Java1.6中的解决方案1.7:

public static boolean isEmpty(String[] array){
    for(String tmp : array){
        if(StringUtils.isNotBlank(tmp)){
            return false;
        }
    }
    return true;
}

StringUtils可能来自apache,或者自己代码检查NULL && length ==0