如何检查包含空元素的空字符串数组

How to check for empty String array including empty elements

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

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

我可以自己做,遍历数组并手动删除这些元素当然,但我最好使用任何库作为 apache

有什么提示吗?

我认为您必须手动完成,最好使用 StringUtils.isNotBlank(str) 而不是 arrayUtils。这样你就不会在数组上迭代两次。

与Java 8:

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

所以手动方式可能是 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