关于null的一些整理

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

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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值