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

不管是刚出来工作的还是出来工作一段时间的码农,都会与到各种各样的崩溃,这其中最常见的就是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. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,688评论 0 17
  • 一. Java基础部分.................................................
    wy_sure阅读 3,854评论 0 11
  • 每个人都希望在某个领域成为高手;但是现实的情况却是,很多人的努力却付诸东流,不能产生理想的结果。学习《跃迁》这本书...
    徐君宝阅读 534评论 0 1