org.apache.commons.lang3.ArrayUtils
提供了检查Array
是否为空的方法,但例如对于String
数组,其中包含空元素元素,意味着字符""
,它返回true
isNotEmpty()
方法,这是正确的,因为该方法仅检查null
和length == 0
。
是否有其他方法或实现检查数组是否有空元素?
我可以自己做,迭代数组并手动删除这些元素,但我最好将任何库用作apache
。
任何提示?
答案 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