我做一个条件与一个值时,它是空的,当它不为空。 这个值为空的时间我得到了java.lang.NullPointerException
。java.lang.NullPointerException
我怎么能解决这个问题,以消除这个例外。 我需要条件时,值为空,当它不是。
感谢您的帮助。
我做一个条件与一个值时,它是空的,当它不为空。 这个值为空的时间我得到了java.lang.NullPointerException
。java.lang.NullPointerException
我怎么能解决这个问题,以消除这个例外。 我需要条件时,值为空,当它不是。
感谢您的帮助。
当您尝试使用null
变量调用方法时,您会得到一个NullPointerException
。简单的例子:
String s = null;
int len = s.length(); // NullPointerException because s is null
所以,你应该检查变量null
调用它的任何方法,例如前:
int len;
if (s == null) {
len = 0;
}
else {
len = s.length(); // safe, s is never null when you get here
}
注意,一个NullPointerException
通常很容易解决。仔细查看异常的堆栈跟踪,它会准确告诉您代码的哪一行发生异常。检查该代码行中可能是null
,并检查是否在调用可能为null
的某个方法。添加一张支票(或者以其他方式防止相关的东西可能是null
)。
只需进行适当的检查,其值为null
。有条件如
if (value == null)
将不会抛出一个空 Refe PointerException。只有当您尝试访问任何null
参考点才能获得例外。所以调用方法或访问对象的其他实例成员是没有问题的。
确实混淆了这个问题,但是:
boolean isNull = true; if(value!= null){isNull = false;}
使用IF检查变量不为空,然后在ELSE代码块为空时使用ELSE代码块。
if (variable != null)
{
//code when object is not null
}
else
{
//code when object is null
}
空指针只有throwh当您尝试使用空值
如
variable.method();
但你应该总是避免在可能发生空指针的情况
+1虽然我对最后一句话不满意。有时我们从API调用中获得'null'或者想要存储来自数据库查询的'NULL'结果。所以这并不总是可以避免的。 – 2010-06-01 14:36:20
正如其他海报所述,如果您不希望此处的引用为空,请修复导致引用在第一个引用中为空的缺陷。但是,如果它是有效的参考可能是零,也可以做到使用三元运算符(Java 5中的)以下
int len = (s == null) ? 0 : s.length;
注:括号内是可选的,但让它在更多的可读性我意见。
发布您的代码。 – 2010-06-01 14:14:52
[什么是空指针异常,以及如何修复它?](http:// stackoverflow。com/questions/218384/what-is-null-pointer-exception-and-how-do-i-fix-it) – 2015-02-21 23:56:34