我想知道检查字符串数组是否为空的最佳实践。
String[] name = {"a" , "b"};
if (name == null) {
}
这是一个好习惯,还是有更好的代码?
答案 0 :(得分:9)
通常你会想做类似的事情:
if (arr != null && arr.length > 0) { ... }
表示非空数组。
但是,正如您可能怀疑的那样,有人为这种共同行动制作了工具。例如,在Commons-lang中,您可以执行以下操作:
if (ArrayUtils.isEmpty(arr)) {... }
如果你为ArrayUtils.isEmpty
进行静态导入,这条线可以更短,看起来更好:
if (isEmpty(arr)) { ... }
答案 1 :(得分:4)
if(name!=null && name.length > 0) {
// This means there are some elements inside name array.
} else {
// There are no elements inside it.
}
答案 2 :(得分:2)
Java中的所有数组都有一个特殊字段“length”,其中包含数组中元素的数量,换句话说就是数组长度。
String test( String[] array )
{
if ( array == null ) {
return "array is null";
}
if ( array.length == 0 ) {
return "array is empty, meaning it has no element";
}
for ( String s : array ) {
if (s == null) {
return "array contains null element";
}
if (s.length() == 0) {
return "array contains empty string";
}
// or
if (s.isEmpty()) {
return "array contains empty string";
}
}
return "array is not null or empty and does not contain null or empty strings";
}
要测试数组是否包含null元素或空字符串,您需要遍历它并单独检查每个元素。
不要忘记数组的长度是特殊字段array.legnth,字符串的长度是函数string.length()。
答案 3 :(得分:0)
检查字符串数组是否为空......
public boolean isEmptyStringArray(String [] array){
for(int i=0; i<array.length; i++){
if(array[i]!=null){
return false;
}
}
return true;
}