返回0长度的数组或者是聚合而不是null

返回0长度的数组或者是集合而不是null

null返回值比零长度数组更好,因为它避免了分配数组所需要的开销。这种说法是不准确的:

1:在这个级别上分析性能是不明智的,除非分析表明这个方法是造成性能问题的源头

2:对于不返回任何元素的调用,每次都返回同一个零长度数组是有可能的。因此零长度数组是不可变的。而不可变对象有可能被*的共享。

总之,返回类型为数组或者是集合的方法没有理由返回null,而不是返回一个零长度的数组或者是集合。