对于一个返回能够null的方法,我们需要额外的代码去处理它,这样做很容易出错。因为我们很容易忘记处理null
有人认为null返回值比零长度数组更好,因为避免了分配数组所需要的开销。这种观点是错误的,原因有两点:
(1):在这个级别上去担心性能是没有意义的,除非能证明这个方法正是造成性能问题的源头。
(2):对于不返回任何类型调用,返回同一个零长度数组是可能的
简而言之:返回类型为数组或者集合的方法没有理由返回null,而不是返回一个零长度的数组或者集合。这种习惯做法(指返回null)很有可能是从C程序设计语言中没有沿袭过来的,在C语言中,数组长度是与实际的数组分开返回的。在C语言中,如果返回的数组长度为零,再分配一个数组就没有任何好处。