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

来源:互联网 发布:网络基础知识入门 视频 编辑:程序博客网 时间:2024/05/17 01:52

不管是刚出来工作的还是出来工作一段时间的码农,都会与到各种各样的崩溃,这其中最常见的就是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就是因为在使用过程中没有去初始化获取该对象已为空;在开发过程中需要谨慎,本人的想法是多做一个为空判断也好比程序崩溃的好大笑


阅读全文
1 0