您的位置:首页 > 编程语言 > Java开发

开发中常遇到到的问题一:java.lang.NullPointerException

2017-12-14 11:26 447 查看
不管是刚出来工作的还是出来工作一段时间的码农,都会与到各种各样的崩溃,这其中最常见的就是NullPointerException了,这里我进行讲解下NullPointerException的怎么出生的。

当应用程序试图在需要对象的地方使用 null 时,抛出该异常。这种情况包括:

1、调用
null 对象的实例方法:

 
   比如有个对象User对象:class User{
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
    在使用过程中只是定义了对象User,没有进行实例化就去获取对象里的name或sex,就会报NullPointerException;
User user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// user = new User();  //这里实例化
user.getName();
}

2、如果一个数组为null,试图用属性length获得其长度时或直接取里面的数组里面的值private String[] data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(data.length>0){ //这里就会空指针报错
}
data[0] = "李四"; //这里就会空指针报错
}
3、在需要抛出一个异常对象,而该对象为 null 时
static MyException e;
public static void main(String args[]){
throw e; // 这里就会空指针报错
}


结束语:

本人是Android开发人员,在Android开发中还是会有其它情况会报NullPointerException,这一系列的NullPointerException就是因为在使用过程中没有去初始化获取该对象已为空;在开发过程中需要谨慎,本人的想法是多做一个为空判断也好比程序崩溃的好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐