多次调用特定枚举类的values()函数是否存在任何低效率?枚举值()方法效率
我已经看到现有代码的实例,其中values()的结果被缓存以供重用。这有用吗?
public enum Blah {
private static final Blah [] _myValues = values()
...
public static Blah findBlahFromName(String name) {
for (Blah blah : _myValues) {
...
}
}
}
在这种特殊情况下,我倾向于使用Guava'ImmutableMap',因为它可以安全共享,可以打包,并且使用IMO更简单。 –
chrylis
你可以看到如何检索这些[这里](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/Class.java#Class .getEnumConstants%28%29) – Obicere
这里的缓存被称为微优化。除非真的如此,enum已经成为您的应用程序的瓶颈。 – Kayaman