nullpointerexception
好酷屋教程网小编为您收集和整理了nullpointerexception的相关教程:java语言与其他编程语言不同,它有严格的异常处理机制,如果需要抛出异常的代码块中没有捕获异常,程序将不会成功编译,换言之:未使用异常捕获、异常捕获方式不正确等,都将导致代码不能被jvm编译。java
java语言与其他编程语言不同,它有严格的异常处理机制,如果需要抛出异常的代码块中没有捕获异常,程序将不会成功编译,换言之:未使用异常捕获、异常捕获方式不正确等,都将导致代码不能被jvm编译。
java标准库,内建了大量的异常处理类,这些类以Throwable 设计为最顶层类。常见的java异常类有:IOException, SocketTimeoutException, UnknownHostException, MalformedURLException、NullPointerException等。
java怎么处理异常?
try{//可能出现异常的代码块} catch (Exception e) { //出现指定的异常时会进入该代码块。//捕获到异常后处理异常的代码块} finally { //可选//不管是否触发了异常,都将被执行}
让人头痛的NullPointerException(空指针异常)
什么时候出现NullPointerException?从上面的java异常结构可以看出NullPointerExcetion继续自RuntimeException,即表示这是一种运行时才会触发的异常。
当程序运行时,对象未初始化或为空时,NullPointerException就出现了,写Java程序时要特别注意这个异常,该异常不捕获,直接导致整个程序崩溃。
因此,我们要很小心,在对象可能为空的情况下,要积极做null检查,不然,NullPointerException就在那等着我们了。
如何防范NullPointerException?
java是纯粹面向对象的编程语言,一切都是对象。对象就有方法和属性,在为空的对象中调用方法就会出现NullPointerException,一个很简单的例子:
public String getName(Cat c){return c.name;}
这段代码用来获取猫(Cat)对象:c的姓名,这里的c为null时,100%会出现空指针错误了。保险的作法是在执行name方法前先检查u是否为空?
改一下:
public String getName(Cat c){if( c == null ){return "is null";}return c.name;}
这样就不会导致出现空指针异常了,一个经验,对于那些可能为空的对象进行操作时,一定要检查是否为空,可避免空指针异常。java 空指针错误几乎每个人都栽过,至少我就曾在这上面吃了不少苦,写过一个网络程序,是获取网页的,大概在进行了3个小时时,程序崩溃了,多处出现了NullPointerException,后来在一段摸索后,对可能出现该异常的地方进行异常捕获,之后就正常了。java 官方也知道这个问题,于是在java 8 中引入了 OPtional 类,专门用来解决null的安全问题,上面的代码用Optional改写成:
public static String getName(Cat s){Optional cat = Optional.ofNullable(s);if(!cat.isPresent()){return "is Null";}return cat.get().name;}
代码依然这么多,Optional可以有更简洁的写法,来试一下:
public static String getName(Cat s){return Optional.ofNullable(s).map(sl->sl.name).orElse("is Null");}
这才是Optional的本意,简洁易懂,链式操作,用Optional避免了if判断,简洁了不少。
以上就是好酷屋教程网小编为您收集和整理的nullpointerexception相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/shuma/63ca8ba1076a7e322708762f.html
相关推荐
热门专题
平板电脑搜狗键盘怎么移动图片(怎么移动搜狗悬浮键盘)
1.怎么移动搜狗悬浮键盘3当出现键盘悬浮的情况,这是因为不小心开启了悬浮键盘的功能,首先在某个聊天界面点击输入框打开键盘。2/3点击键盘的左上角按钮,该按钮图案可能是键盘图案、工具箱图案、搜狗标志图电脑出现选择一个选项疑难解答(电脑出现只有一个选择)
1.电脑出现只有一个选择我的电脑右下角的选择输入法的图标没有了?怎么把它调出来?我的电脑右下角的选择输入法的图标没有了,怎么把它调出来,进入控制面板设置一下就可以了。如图示,在控制面板中进入区域和语电脑连接网络受限制是什么原因(电脑联网显示网络受限)
1.电脑联网显示网络受限如提示网络连接受限制或无连接,可按以下方法操作:1、打开电脑“控制面板”,点击“网络连接”,选择本地连接,右键点击本地连接图标后选“属性”,在“常规”选项卡中双击“Inter三环耳机插电脑(三接头耳机怎么插电脑)
1.三接头耳机怎么插电脑如图所示,电脑耳机插口有两个,每个插孔下面有标识。比如,粉色的下面是个话筒话标志,浅绿色的是耳机🎧,有的电脑上有三个插孔,也就是在中间位置有一个混音插孔,一般是黑色的,就是电脑全屏截图怎么弄(电脑上如何全屏截图)
1.电脑上如何全屏截图 方法一:直接使用键盘中的PrintScrSysrq键实现全屏截图PrintScreenSysRq截图键 使用方法非常简单,只需要按下该键后即可完成全屏截图,然后我们苹果电脑键盘电源(苹果电脑键盘电源灯闪烁是什么意思)
1.苹果电脑键盘电源灯闪烁是什么意思那可能是灯的问题,我的Mac键盘灯是白色的,你去售后问问呗。如果不是键盘脏的话,目测只能是灯的问题了吧,盖膜的应该没什么影响2.苹果电脑键盘指示灯一直闪如果您天天飞车电脑壁纸(天天飞车电脑壁纸超清)
1.天天飞车电脑壁纸超清汉字中隔壁的壁字是一个常用字,是墙体和陡峭的山涯、某些物体的表面,可以可以组成的词语有:1、墙壁,一堵墙体的表面。2、戈壁,戈壁滩寸草不生,全是沙石。3、壁画,是在墙壁、山涯电脑怎么抓屏(联想电脑怎么抓屏)
1.联想电脑怎么抓屏截图方法有多种:1、按“PrintScreenSysRq”,(在F12右边)全屏截图,就是抓整个屏幕;2、按Alt+PrintScreenSysRq,截取当前电脑保修期一般多长时间(机械革命电脑保修期一般多长时间)
1.机械革命电脑保修期一般多长时间按国家规定整机保一年,配件三年保修2.机械革命电脑保修期一般多长时间啊第1步,查询电脑过没过保修期的方法是:第2步,1、翻转电脑,查看底部铭牌上的主机编号并索尼s39h连接电脑(索尼手机s39h)
1.索尼手机s39h索尼手机摄像头在中间的型号大概有索尼LT25I、索尼LT26I(LT26II)、索尼L35H、索尼M35H(M36H)、索尼S39H、索尼S50H,或许还有我不清楚的,但是我选出