【发布时间】:2010-03-15 09:42:40
【问题描述】:
我正在使用枚举来替换我的 java 应用程序 (JRE 1.5) 中的 String 常量。
当我在不断调用的方法中将枚举视为名称的静态数组时(例如,在渲染 UI 时),是否会影响性能?
我的代码看起来有点像这样:
public String getValue(int col) {
return ColumnValues.values()[col].toString();
}
说明:
- 我担心与重复枚举
values()相关的隐藏成本(例如,在 paint() 方法中)。 - 我现在可以看到,我的所有场景都包含一些
int=>enum转换 - 这不是 Java 的方式。
提取values() 数组的实际价格是多少?这甚至是一个问题吗?
Android 开发者
阅读下面 Simon Langhoff 的答案,Geeks On Hugs 早先在接受的答案的 cmets 中指出了这一点。 Enum.values()一定要做防守副本
【问题讨论】:
标签: java performance enums