注意:java 这些地方经常发生 NullPointerException(空指针)异常
上一篇文章讲到java NullPointerException异常处理,这一篇来讲一下具体有哪些地方容易遇到NullPointerExcetion(空指针)异常。
磨刀不误砍柴工,不太清楚空指针的朋友可以先读一下上面那篇文章,会有所启发。我们进入今日的主题,哪些代码会碰到:NullpointerExcetion?先看一段代码。
不规范的代码引起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那样会让我们的程序崩溃,我们也要重视它,没有其他原因:为了软件的健壮。