如何检查字符串数组是空的还是null的android?

时间:2013-05-30 06:27:01

标签: java android

我是java的新手。我无法检查是否为空。你能告诉我这件事吗? 我有一个没有元素的字符串数组。

我试过这段代码

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

5 个答案:

答案 0 :(得分:39)

非常精确地

if(k!=null && k.length>0){
    System.out.println(k.length);
}else
    System.out.println("Array is not initialized or empty");

k!=null会检查array不是null。并且StringArray#length>0 return它不是空的[你也可以在检查长度之前修剪掉废弃的空格]。

一些相关的热门问题 -

答案 1 :(得分:7)

null数组和空数组之间存在关键差异。这是null的测试。

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

“空”这里没有官方意义。我选择将empty定义为具有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

答案 2 :(得分:3)

if (myArray == null)

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

else if (myArray.Length < 1)

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

答案 3 :(得分:1)

String k[] = new String[3];

if(k.length == 0 ){

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

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

答案 4 :(得分:1)

我认为你可以使用它:

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

<强>更新

更好的解决方案是:

TextUtils.isEmpty(str)