如何处理Java中的NullPointerException

6

如何在Java中处理NullPointerException?请提供详细信息,以便我可以解决这个问题。


2
如果你不能发布一些代码,那么问题就太广泛了。一个提示:通过检查赋给你的对象是否真正有效来处理null指针。 - Konerak
2
你需要在这里提供一些代码,以便他人可以帮助你解决你的具体问题。NullPointerExceptions是相当常见的问题。 - Ceilingfish
3个回答

24

你应该避免出现空指针异常:

if(someObject != null) {
    someObject.doSomething();
} else {
    // do something other
}

通常你应该确保你使用的对象不是null。

你也可以捕获NullPointerException并使用if条件语句来避免异常。

try {
    someObject.doSomething();
} catch(NullPointerException e) {
    // do something other
}

通常在代码中出现NullPointerException时,这表示你的代码中存在一个漏洞。


15
try {
    // something stupid
} catch(NullPointerException e) {
    // probably don't bother doing clean up
} finally {
    // carry on as if nothing went wrong
}

23
实际上,你可能应该研究一下// something stupid,以使其变得不那么愚蠢。 - Michael Mrozek
1
+1 给捕获块的注释;-) - Brett Kail
3
也许是因为并非每个人都会根据答案的科学可靠性和完整性进行投赞成票。相反,他们会根据自己觉得有趣和/或能够产生共鸣的答案进行投票。 - Finbarr
1
在基于社区和民主制度的系统中,是否真的可能投错票呢?毫无疑问,人们应该根据自己的感受投票,而不是考虑别人会如何看待他们的投票。 - Finbarr
2
@Finbarr 我们无法以违规的方式投票(据我所知),但完全有可能投错票。如果您将所有您认为是错误答案的回答投为赞成,而将所有您认为是正确答案的回答投为反对,则您正在错误地投票,但不会因此被暂停。您应该投赞成票以帮助其他人。 - Michael Mrozek
显示剩余6条评论

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接