![](/img/trans.png)
[英]Checking if all strings have equal length in a String array in Java
[英]Checking the size or length of a string array in java
我有这个
String p[] = null;
我需要检查它的大小/长度是否为null
。 就像是
if (p.length == null)
但它不起作用。
您无法检查null
长度。 此外, length
返回一个永远不能为null
的int
。 做就是了
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.
}
if (p == null)
长度值是根据数组的大小计算的。 如果数组为null,则只检查对象而不是长度。
空引用不具备的长度。 任何访问其任何成员的尝试都将导致NullPointerException
。
数组对象的长度类型为int
,这意味着它可以是0
,但不能为null
。 数组类型的空引用与指向长度为零的数组对象的引用之间存在差异。
也许你想这样做:
if(p==null || p.length==0)
自||
是一个短路运算符,这将为null引用和长度为零的数组返回false
,而不是抛出NullPointerException
。
public boolean isUseless(String str)
{
return str == null || str.length() == 0;
}
使用模式:
String s = null;
isUseless(s);
返回true
如果引用为null,则不能对其进行任何操作,如访问其方法。 我认为你真正需要的是
if (p == null) {
// throw some exception
} else {
if (p.length == 0) {
// your logic goes here
}
}
您无法检查null
对象成员,这是不可能的,并且一旦您拥有String[]
的实际实例,则length
和count
将为0,因为这是它们的默认值。
您可以将其初始化为
String[] p = new String[6];
然后,一旦你初始化了这个,你可以调用p.length
就个人而言,我使用apache的commons lang lib中的ArrayUtils.getLength
。
它检查nullity并返回一个大小( null
数组为0
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.