怎样会产生nullpointException,及预防

怎样会产生nullpointException

其本质为:NULL表示该指针不指向任何内存单元。指向了不可使用的内存单元,虚拟机无法读取它的值。

一般会出异常的位置:

  • 调用 null 对象的实例方法。
  • 访问或修改 null 对象的字段。
  • 如果一个数组为null,试图用用其属性,或者取其值的时候

nullpointException的预防

1.用已知非空的字符串调用equals()和equalsIgnoreCase()方法与未知值的字符串进行相比

例如:String a = null ;  String b = “hello” ;

如果  a.equals("b")   就会出现空指针异常,若是 b.equals("a"); 则不会出现空指针异常

2.打印对象时当valueOf()和toString()返回相同的结果时,如果对象的的值为null,使用valueOf(),而不用toString(),因为valueOf()方法 不会抛出空指针,儿toString()会抛出空指针

 3.使用null安全的方法和库 有很多开源库已经为您做了繁重的空指针检查工作。其中最常用的一个的是Apache commons 中的StringUtils。你可以使用StringUtils.isBlank(),isNumeric(),isWhiteSpace()以及其他的工具方法而不用担心空指针异常。

//StringUtils方法是空指针安全的,他们不会抛出空指针异常

System.out.println(StringUtils.isEmpty(null));  true

System.out.println(StringUtils.isBlank(null));  true

System.out.println(StringUtils.isNumeric(null));  false

System.out.println(StringUtils.isAllUpperCase(null));  false

 

借鉴文章链接:https://www.jb51.net/article/123049.htm

暂时就整理到这么些关于空指针重要的内容,希望大家用于在评论处补全,感谢

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值