Java 使用字符串[]数组执行空检查

Java 使用字符串[]数组执行空检查,java,Java,我想知道检查字符串数组是否为空的最佳实践 String[] name = {"a" , "b"}; if (name == null) { } 这是一个好的做法还是有更多的最佳代码用于相同的操作?要检查字符串数组是否为空 public boolean isEmptyStringArray(String [] array){ for(int i=0; i<array.length; i++){ if(array[i]!=null){ return false; }

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

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

if (name == null) {
}

这是一个好的做法还是有更多的最佳代码用于相同的操作?

要检查字符串数组是否为空

public boolean isEmptyStringArray(String [] array){
 for(int i=0; i<array.length; i++){ 
  if(array[i]!=null){
   return false;
  }
  }
  return true;
}
公共布尔isEmptyStringArray(字符串[]数组){

for(inti=0;iJava中的所有数组都有一个特殊字段“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()

if (arr != null && arr.length > 0) { ... }
if (ArrayUtils.isEmpty(arr)) {... }
对于非空数组

但是,正如您可能怀疑的那样,有人已经为此类常见操作创建了UTIL。例如,在Commons lang中,您可以执行以下操作:

if (arr != null && arr.length > 0) { ... }
if (ArrayUtils.isEmpty(arr)) {... }
如果您对
ArrayUtils.isEmpty
执行静态导入,这一行可能会更短,看起来更漂亮:

if (isEmpty(arr)) { ... }

你所说的“字符串[]的布尔值”是什么意思?你认为什么是真的,什么是假的?我认为“字符串[]的布尔值”的概念这在Java中根本不适用。它不像JavaScript那样是真是假。你可以检查引用是否为空,或者数组的元素是否为空,但仅此而已。
length
数组中是字段,而不是方法。@BrianRoach,感谢你指出,我错加了括号。is nullcheck required??长度已达到job@SrinathGanesh,是,需要进行null检查,因为如果name为null,那么name.length将给出NullPointerException,但我不知道:)很高兴知道org.apache.commons.lang.ArrayUtils如果项目已经在使用apache包,这将更加有用,通常简单的prog不使用该jardistribution@SrinathGanesh当然,是否使用第三方库是OP的选择,但是,对于像Maven和Gradle这样的现代构建工具,我认为在简单的p中使用这样的库没有任何问题程序。