知识卡片
用空集合代替null
内容
当一个对象的关联集合(比如某个艺人尚未关联任何曲目)在数据层面为空时,框架返回一个长度为零的集合,而不是 null,这样调用方遍历这个属性时不需要先做非空判断,也不会抛出空指针异常。这是”空对象” (Null Object)思想的具体体现:把”没有数据”也建模成一个合法、可安全操作的实例,而不是 一个特殊的、需要额外分支处理的哨兵值。发散:这条原则可以推广成一条通用API设计准则—— 返回集合类型的方法永远不应该返回null,宁可返回空集合;这样能把调用方原本分散在各处的 “if (x != null)“判断,直接消灭在被调用方内部。
参考来源
《精通Hibernate》第4章《集合的检索》