Android技术知识Android开发经验谈

《java编程思想 泛型》——空对象

2017-08-05  本文已影响0人  每天学点编程

null进行操作会报空指针异常,null没有任何的行为。

空对象的概念

空对象有所代表对象的所有方法,如果调用空对象上的方法会返回表示无效的值。

空对象的用途

表示问题领域实体的对象

空对象的不足

有时候还是必须检查对象是否为空对象

空对象例子——创建空对象

空对象一般是单例,
使用单例可以直接使用equals(Person.NULL)==Person.NULL

空对象例子——使用空对象

如果职位还没有招到人则person为空对象:

通过检查职位的person属性是否为空对象来判断职位是否空缺:

请仔细观察,代码有些地方还是需要检查对象是否为空对象,不过有些地方就不需要,比如toString

自动创建空对象的例子——要求

如果使用的是接口则可以通过动态代理创建空对象。

自动创建空对象的例子——准备

自动创建空对象的例子——动态代理

模拟对象和桩

模拟对象和桩是空对象的变种。

模拟对象和桩的区别

区别在于程度。Mock Objects是轻量级和自测的,每个测试场景都会创建对应的Mock Object。
桩是重量型的和在测试中可以重复使用的。

上一篇下一篇

猜你喜欢

热点阅读