如何检查在Android中字符串数组为空或为null?

13

我是Java的新手。不知道如何检查是否为空。你能帮我解决一下吗?我有一个字符串数组,里面没有任何元素。

我尝试了以下代码:

String[] k = new String[3];
if(k==null){
    System.out.println(k.length);
}

一个更好的副本 - 如何检查数组是否为null / empty? - Bernhard Barker
5个回答

43

9

一个null数组和一个空数组之间有一个关键区别。这是用来测试null的。

int arr[] = null;
if (arr == null) {
  System.out.println("array is null");
}

这里的“空”没有官方含义。我选择将其定义为空元素为0:

arr = new int[0];
if (arr.length == 0) {
  System.out.println("array is empty");
}

“空”这个词的另一种定义是所有元素都是“null”:
Object arr[] = new Object[10];
boolean empty = true;
for (int i=0; i<arr.length; i++) {
  if (arr[i] != null) {
    empty = false;
    break;
  }
}

或者

Object arr[] = new Object[10];
boolean empty = true;
for (Object ob : arr) {
  if (ob != null) {
    empty = false;
    break;
  }
}

Reference


3
if (myArray == null)

   System.Console.WriteLine("array is not initialized");

else if (myArray.Length < 1)

   System.Console.WriteLine("array is empty");

1
String k[] = new String[3];

if(k.length == 0 ){

System.out.println("Null");
}

如果数组中没有任何项,它将显示 null。

1
我认为您可以使用这个:

if(str != null && !str.isEmpty())

更新

更好的解决方案是这个:

TextUtils.isEmpty(str)

4
在Java中,字符串数组没有'isEmpty()'方法。 - Anahit Serobyan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接