第54条 - 返回空集合或数组,而不是null

💡 原文约300字/词,阅读约需2分钟。
📝

内容提要

不要返回null,而是返回空的集合或数组。返回null需要额外的客户端处理,容易出错。应该使用空的集合或数组来代替null,可以提高性能。使用不可变的空集合或数组可以避免不必要的内存分配。总之,不要返回null,而是返回空的集合或数组。

❓

Q&A

为什么不应该返回null而是返回空集合或数组?

返回null需要额外的客户端处理,容易出错,而返回空集合或数组可以简化API并避免错误。

返回空集合或数组对性能有影响吗?

除非证明是性能瓶颈,否则不必担心空集合或数组的分配性能。

如何正确返回空集合或数组?

可以使用Collections.emptyList()或Collections.emptySet()来返回不可变的空集合,或者返回一个空数组。

返回null会导致什么问题?

返回null会使客户端需要添加冗余检查,忽略这些检查可能导致异常和错误。

使用不可变集合有什么好处?

不可变集合可以重复返回,避免不必要的内存分配,提高性能。

示例代码中如何处理返回空集合的情况?

示例代码中使用了条件判断,如果集合为空则返回Collections.emptyList(),否则返回实际的集合。

➡️

继续阅读