有如如果一个函数值返回值类型为集合类型,这个函数在没有数据的情况下应该返回一个空集合,而不是null一样
同样的,如果一个函数返回对象类型,为了避免在应用调用函数后需要做很多null判断,我们可以使用null object设计模式
返回Null Object而不是null
对象类型定义示例为
public class aa{
private static aa NULL=new bb();//定义一个NULL Object
private ****
....//成员变量
public ***(){//成员方法
******
}
private static class bb extends aa{
//重载父类的方法,定义为null情况的行为
}
}
这样函数如果要返回null值,就返回aa.NULL,这样调用者不需要对返回值做null值校验