如果没有行,都query.list()与criteria.list()正在返回 空 一个,而不是列表null值。
query.list()
criteria.list()
null
这背后的原因是什么?
原因是不与有效Java 2nd Edition,项目43 一致,在客户端代码中强制执行空检查: 返回空数组或集合,而不是null 。
这使客户端代码更简单,更不易出错(并且很可能也是该方法的实现)。
空返回惯用语可能是C编程语言的一种保留,在C语言中,数组长度与实际数组分开返回。在C中,如果返回零作为长度,则分配数组没有任何好处。