null与空串的区别,什么是空指针,如何解决空指针异常

null与空串的区别

1, null不占用空间,空字符串占用一定内存空间

2, null可以赋值给任何对象,而空字条串只能赋值给String

3, 调用null的方法会返回nullpointerexception,调用空字符串的方法不会报错

4, null本身就是个对象,但它是一个不确定的对象,只能给引用形变量赋值,不能给基本类型赋值.(int a=null;是错误的)

 什么是空指针

1,空指针异常产生的主要原因如下:
1)当一个对象不存在时又调用其方法会产生异常:对象不存在
2)当访问或修改一个对象不存在的字段时会产生异常:方法不存在

3)字符串变量未初始化

4)接口类型的对象没有用具体的类初始化,

比如: List lt;会报错 
     List lt = new ArrayList();则不会报错了 

  (5) 当一个对象的值为空时,你没有判断为空的情况。你可以试着把下面的代码前加一行代码: 
if(str!=null && str!="") 改成: if(null!=str); if(null!=str!&&!"".equals(str)) 或者if((“”).equals(str)) 

空指针的解决办法:
重点关注报错发生的所在行,通过空指针异常产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于设定的值之前

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值