2014-09-05 33 views
1

正如herehere之类的许多问题所讨论的那样,返回空值而不是空集合被认为是不好的做法。空集合vs null归零?内存使用缺陷有多大?

我同意空回报抛弃代码与成千上万的if (a!= null),但我想知道这是如何影响内存使用情况时,成千上万的调用完成只是为了返回一个空的集合或数组。这是在应用程序需要内存优化时考虑的吗?或者垃圾收集(例如java)照顾它?

+1

在大多数(所有?)情况下,'null'是一个零字。一个空集合可能是两个单词,一个是指向集合的指针,第二个是一个地方持有人说,“我是空的”。使用两个词而不是一个会导致问题?这取决于您正在运行的系统。智能卡的内存可能非常有限。 – rossum 2014-09-07 16:18:21

回答

1

返回一个静态的,不可变的空列表而不是新对象。这样,所有空列表引用相同的静态对象。例如,Collections.emptyList()。