注意:java 这些地方经常发生 NullPointerException(空指针)异常

作者: 杨圣亮 分类: Java编程 发布时间: 2018-09-24 00:02:38

上一篇文章讲到java NullPointerException异常处理,这一篇来讲一下具体有哪些地方容易遇到NullPointerExcetion(空指针)异常。

磨刀不误砍柴工,不太清楚空指针的朋友可以先读一下上面那篇文章,会有所启发。我们进入今日的主题,哪些代码会碰到:NullpointerExcetion?先看一段代码。

null2.png

不规范的代码引起NullPointerException

返回一个网页html的长度

/**
 * 判断一个网页的长度
 *
 * @param pageSource
 * @return
 */
public static int getHtmlLenght(String pageSource) {
    return pageSource.length();
}

这段代码没有对传入的pageSource做null检查,一旦pageSource的值为为空,空指针错误就来了。

正确的作法是:

/**
 * 判断一个网页的长度
 *
 * @param pageSource
 * @return
 */
public static int getHtmlLenght(String pageSource) {
    return pageSource == null? 0: pageSource.length();
}

有些时候,在写代码时,往往给了它一个null的初始值,后面却没有给其传入新值,直接调用方法进行运行,悲剧了,讨厌的NullPointerException又来了。在没有较好的ide工具做开发时,错误的定位有时并不容易。好在如今的ide工具足够智能化,哪一行出现了NullPointerException直接就给定位出来了。

String nameA = null;
String nameB = "bob";
System.out.println(nameA.equals(nameB));

一个原则,凡是对象使用了方法进行操作,或者说对象要调用其方法的时候,一定要做null值判断,防止对象为空,这样可以避免出现空指针异常。如果喜欢,可以关注我,会定期更新java、seo及营销方面的知识。若有碰到什么问题不妨留言,我会尽可能帮助大家解决!

NullPointerException异常贯穿了整个java编程领域,影响到java的方方页面,之前有则新闻说java设计师因为设计了null而感到后悔,因为有了null后,稍不留意就会异常,空指针异常属于程序运行异常,只有在运行的时候才会被触发,而有些时候,触发还不是一定的,这给程序的调试带来了很大的难度。

作为程序开发者,只有一行一行代码严谨编码,才不容易出问题,无论是空指针异常也好,其他异常也好,即使不像NullPointerException那样会让我们的程序崩溃,我们也要重视它,没有其他原因:为了软件的健壮。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

18  −    =  9

微信