13

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

我试过这段代码

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

5 回答 5

43

非常准确

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不为空[您也可以在检查长度之前修剪丢弃空格]。

一些相关的热门问题-

于 2013-05-30T06:29:35.877 回答
8

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

参考

于 2013-05-30T06:34:33.997 回答
3
if (myArray == null)

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

else if (myArray.Length < 1)

   System.Console.WriteLine("array is empty");
于 2013-05-30T06:29:51.843 回答
1
String k[] = new String[3];

if(k.length == 0 ){

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

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

于 2013-05-30T06:28:51.340 回答
1

我认为你可以使用这个:

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

更新

更好的解决方案是这个:

TextUtils.isEmpty(str)
于 2013-11-12T09:29:56.123 回答