我是java的新手。我无法检查是否为空。你能告诉我这件事吗? 我有一个没有元素的字符串数组。
我试过这段代码
String[] k = new String[3];
if(k==null){
System.out.println(k.length);
}
答案 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;
}
}
答案 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)