开发中常遇到到的问题一: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;
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 时
结束语:
本人是Android开发人员,在Android开发中还是会有其它情况会报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就是因为在使用过程中没有去初始化获取该对象已为空;在开发过程中需要谨慎,本人的想法是多做一个为空判断也好比程序崩溃的好
相关文章推荐
- 安卓开发过程中空指针的问题Java.lang.NullPointerException
- Android开发中遇到Java.lang.NullPointerException解决办法
- Java 开发过程中发现的一个小问题java.lang.NullPointerException
- 在使用DataBinding中遇到的一个奇葩的 java.lang.NullPointerException问题
- 安卓开发过程中空指针的问题Java.lang.NullPointerException
- solr定时更新索引遇到的问题(SolrDataImportProperties Error loading DataImportScheduler properties java.lang.NullPointerException)
- 安卓开发过程中空指针的问题Java.lang.NullPointerException
- Exception starting filter struts2 java.lang.NullPointerException 问题解决
- Fragment内部控件操作的E/AndroidRuntime(1778): java.lang.NullPointerException问题解决
- java.lang.NullPointerException的各种问题
- java.lang.nullpointerexception 问题
- 艰辛的aptana插件安装之路(续)--成功解决myeclipse不能启动和报java.lang.NullPointerException的问题
- android中使用smack库时,遇到错误:java.lang.NullPointerException
- eclipse myeclipse修改工作区间 an error has occurred. see error log for more details. java.lang.nullpointerexception 问题解决
- 空指针问题(java.lang.NullPointerException)
- Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPointerException 错误的集中原因及解决办法
- 艰辛的aptana插件安装之路(续)--成功解决myeclipse不能启动和报java.lang.NullPointerException的问题
- Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPointerException 错误的集中原因及解决办法
- 空指针问题(java.lang.NullPointerException)
- java.lang.NullPointerException问题