关于null的一些整理

来源:互联网 发布:python开源社区 编辑:程序博客网 时间:2024/05/22 03:20

在开发中我们经常会遇到空指针的问题:

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

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中的问题




0 0
原创粉丝点击