使用String []数组进行空检查

时间:2014-03-04 03:24:56

标签: java

我想知道检查字符串数组是否为空的最佳实践。

String[] name = {"a" , "b"};

if (name == null) {
}

这是一个好习惯,还是有更好的代码?

4 个答案:

答案 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;
}