您的位置:首页 > 其它

关于null的一些整理

2014-06-19 09:58 169 查看
在开发中我们经常会遇到空指针的问题:

以下是对于空指针的一些简单整理:

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中的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: