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”或者空值放于设定的值之前

你可能感兴趣的:(JAVA)