【发布时间】:2014-11-27 09:32:51
【问题描述】:
有时我需要返回空数组来履行一些类合同。
而不是总是创建一个空数组:
@Override public String[] getDescriptionTexts() {
return new String[0]; // no texts
}
我认为重用常量中的空数组可能会更好:
public class Strings {
public static final String[] EMPTY_ARRAY = new String[0];
}
@Override public String[] getDescriptionTexts() {
return Strings.EMPTY_ARRAY; // no texts
}
这种优化值得吗?
【问题讨论】:
-
两种代码在性能方面没有区别。您根本不会注意到任何差异。
-
内存分配呢?
-
绝对值得。没有理由不使用常量。
-
Performance benefits of a static empty array instance 的可能副本,更早但有更好的答案和基准。
标签: java