android 项目中的非空判断
2015-11-20 11:28
387 查看
看这个之前,我们先要理解下什么是空指针异常,所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法或成员变量,当我们在java中如果一个引用变量指向的是空,当我们访问它的成员变量或者方法时,java系统就会报NullPointerException。 比如Person person=null;Person 对象中有个eat()方法,当我们访问person.eat()时,就会NullPointerException。如下,我们先定义一个People
public class People { public String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void eat() { System.out.println("People在吃"); } }
再定义个测试类NullPointerTest
public class NullPointerTest { ArrayList<People> list = new ArrayList<People>(); public void point() { People people; people = list.get(0); System.out.println(people.name); } public NullPointerTest() { initData(); } public static void main(String[] args) { NullPointerTest nullPointerTest = new NullPointerTest(); nullPointerTest.point(); } private void initData() { for (int i = 0; i < 10; i++) { list.add(null); } }}当访问people.name时,系统就会报NullPointerException。
在android 项目中我们加非空判断的作用就是为了避免出现空指针异常。比如从本地取数据时和取服务端获取到的数据时要进行非空判断, 为了避免取数据的时候,我们代码写对了,但是数据如果是空的,会报空指针异常,然后项目挂掉用的 本地数据源中取得,比如file文件,本地数据库,sd卡。
相关文章推荐
- Service was originally bound here
- Android布局之GridView使用展示
- Android本地数据库增删改查 菜单实现
- Android学习一(入门)
- Android(5)——Style Resource
- android弹出窗口实现
- Android线程间通信(三):Looper
- 关于android的多选框和全选框之间的联系
- 如何解决Android 5.0中出现的警告:Service Intent must be explicit
- Android 使用动态加载框架DL进行插件化开发
- Android 使用动态加载框架DL进行插件化开发
- Android 屏蔽Power键 Home键
- android SpannableString使用详解
- Android中的定时器Timer、AlarmManager、CountDownTimer的使用
- Android源码开发之mimeType分享
- 史上最详细的Android Studio系列教程四--Gradle基础
- Android Studio目录结构浅析
- Android Layout 属性
- Android开发之多层树型目录的实现
- Android 4K高清图片解码显示(1)安卓内存分析