在java中检查字符串数组的大小或长度

在java中检查字符串数组的大小或长度,java,Java,我有这个 String p[] = null; 我需要检查它的大小/长度是否为null。差不多 if (p.length == null) 但是它不起作用。您不能检查空的对象成员,这是不可能的,一旦您有了字符串[]的实际实例,长度和计数将是0,因为这是它们的默认值 您可以将其初始化为 String[]p=新字符串[6] 一旦你初始化了它,你就可以调用p.length if (p == null) 长度值是根据数组的大小计算的。如果数组为空,则只需检查对象而不是长度。您不能检查null的长度

我有这个

String p[] = null;
我需要检查它的大小/长度是否为
null
。差不多

if (p.length == null)

但是它不起作用。

您不能检查
空的
对象成员,这是不可能的,一旦您有了
字符串[]
的实际实例,
长度和
计数将是0,因为这是它们的默认值

您可以将其初始化为

String[]p=新字符串[6]

一旦你初始化了它,你就可以调用
p.length

if (p == null)

长度值是根据数组的大小计算的。如果数组为空,则只需检查对象而不是长度。

您不能检查
null
的长度。另外,
length
返回一个
int
,该值不能为
null
。照办

if (p == null) {
    // There is no array at all.
} else if (p.length == 0) {
    // There is an array, but there are no elements.
}
或者只是实例化它,而不是保持它
null

String[] p = new String[0];
然后你可以做:

if (p.length == 0) {
    // There are no elements.
}   
另见:
使用模式:

String s = null;
isUseless(s);

返回
true

如果引用为null,则不能对其执行任何操作,如访问其方法。我认为你真正需要的是

if (p == null) {
    // throw some exception
} else {
   if (p.length == 0) {
       // your logic goes here
   }
}
空引用没有长度。任何试图访问其任何成员的行为都将导致
NullPointerException

数组对象的长度类型为
int
,这意味着它可以是
0
,但不能是
null
。数组类型的null引用与指向长度为零的数组对象的引用之间存在差异

也许您想这样做:

if(p==null || p.length==0)

由于
|
是一个短路运算符,对于空引用和长度为零的数组,这将返回
false
,而不是抛出
NullPointerException

,我个人使用apache公共语言库中的
ArrayUtils.getLength


它检查空值并返回一个大小(
0
用于
null
数组)。

所以我需要像字符串p[]=new String[6]那样初始化它吗?多亏了looooooooooot。。。这是我需要的。。。我的代码有效。。。再次感谢……非常感谢。。。这是我需要的。。。我的代码有效。。。再次感谢……非常感谢。。。这是我需要的。。。我的代码有效。。。再次感谢……我忍不住想知道,如果有人获得上述评论(“感谢……gr8帮助”),但没有被接受,那么有什么标准是不符合的。。。显然@athresh确实有一些接受标准。。。只是非常严格,我想(?)@Code:OP不/不太熟悉堆栈溢出应该如何使用。
if(p==null || p.length==0)