关于null的一些整理
2014-06-19 09:58
169 查看
在开发中我们经常会遇到空指针的问题:
以下是对于空指针的一些简单整理:
1.空指针null能不能强转为任何对象?
经试验发现,空指针是可以强转为任何对象的,就相当于将空指针赋值给所给定的对象
测试结果:myDog为空,由此可见null可以强转转为为任意类型
2.如果对象为null,并且不重写其toString()方法,那么当调用toString()时会报空指针异常,开发新手很容易不小心就掉入这个陷进
其实究其本质原因就是:如果对象为null,则任何对其成员变量的引用都会引起空指针异常
3.对于对象的多层嵌套,如果要访问到最低层的对象的一个属性,那么怎么样访问效率最高呢,特别是当需要访问的是一个集合的时候,如果每一层都做非空判断效率会不会降低呢?但是不做判断又不知道在哪一层会抛出一个空指针,怎么办呢?
下面来点高级点的:看如何解决3中的问题
以下是对于空指针的一些简单整理:
1.空指针null能不能强转为任何对象?
经试验发现,空指针是可以强转为任何对象的,就相当于将空指针赋值给所给定的对象
Dog myDog = new Dog("小黄", 12, "黄色"); Object yourDog = new Dog("小花", 2, "红色"); Object yourDog2 = null; myDog = (Dog) yourDog2; if(myDog==null) System.out.println("myDog为空");
测试结果:myDog为空,由此可见null可以强转转为为任意类型
2.如果对象为null,并且不重写其toString()方法,那么当调用toString()时会报空指针异常,开发新手很容易不小心就掉入这个陷进
其实究其本质原因就是:如果对象为null,则任何对其成员变量的引用都会引起空指针异常
3.对于对象的多层嵌套,如果要访问到最低层的对象的一个属性,那么怎么样访问效率最高呢,特别是当需要访问的是一个集合的时候,如果每一层都做非空判断效率会不会降低呢?但是不做判断又不知道在哪一层会抛出一个空指针,怎么办呢?
下面来点高级点的:看如何解决3中的问题
相关文章推荐
- 关于NULL,nil,0(其实都知道,只不过我把他整理成册了)(一)
- 关于RCP的一些整理笔记
- 整理的一些关于Multi-bin技术的一些文章
- 整理了一些关于Glib的文章
- 整理的一些关于Multi-bin技术的一些文章
- 未经整理的一些想法-关于人工智能
- 关于临时表使用,今天突然用到了临时表,一些sql语句顿时都想不起怎么来写了,今天请教同事头弄完了,特此整理下。
- 整理网上的一些关于sharepoint编码方面的最佳实践
- 关于日期函数的一些整理
- 整理的一些关于虚函数的使用方法和注意点
- [整理] 关于易语言论坛的一些考证
- 关于日期函数的一些整理
- 近期整理的关于数据存储和备份的一些资料
- 整理的一些关于nutch分布式的配置
- 关于linux进程编程的一些笔记整理
- 整理了一些关于asp开发的小经验(初学者水平)
- 关于CVS的一些整理
- 关于一些Google Map API应用开发的资源收集整理
- 关于指针、数组的一些整理
- 关于 js跳转 的一些整理..