enum.values() - 是返回枚举确定性的顺序
2022-08-31 09:51:33
我有一个枚举:SOME_ENUM
public enum SOME_ENUM {
EN_ONE,
EN_TWO,
EN_THREE;
}
将始终按枚举声明的顺序返回枚举:?这是一个规则,还是不能保证在下一个JDK版本中不会更改?SOME_ENUM.values()
EN_ONE, EN_TWO, EN_THREE
我有一个枚举:SOME_ENUM
public enum SOME_ENUM {
EN_ONE,
EN_TWO,
EN_THREE;
}
将始终按枚举声明的顺序返回枚举:?这是一个规则,还是不能保证在下一个JDK版本中不会更改?SOME_ENUM.values()
EN_ONE, EN_TWO, EN_THREE
Java 语言规范使用以下显式语言:
@return一个包含此枚举类型常量的数组,按照它们声明的顺序 [Source]
因此,是的,它们将按申报顺序返回。值得注意的是,如果有人更改了类,顺序可能会随着时间的推移而改变,因此请非常小心如何使用它。
是的,保证按该顺序返回它们。
但是,您应该避免依赖它和值,因为它可以在插入新项目后发生变化。ordinal()