enum.values() 的顺序将始终相同
可能的 Duplicate:
enum.values() - 是返回枚举的确定性顺序
我有一个枚举,如下所示:-
enum Direction {
EAST,
WEST,
NORTH,
SOUTH
}
如果我在方向枚举上说,那么值的顺序将始终保持不变。我的意思是值的顺序将始终在下面的foramt中:values()
EAST,WEST,NORTH,SOUTH
或者订单可以在任何时间点更改。
可能的 Duplicate:
enum.values() - 是返回枚举的确定性顺序
我有一个枚举,如下所示:-
enum Direction {
EAST,
WEST,
NORTH,
SOUTH
}
如果我在方向枚举上说,那么值的顺序将始终保持不变。我的意思是值的顺序将始终在下面的foramt中:values()
EAST,WEST,NORTH,SOUTH
或者订单可以在任何时间点更改。
每个类型都有一个静态方法,该方法返回一个数组,其中包含枚举类型的所有值(按声明顺序排列)。Enum
values
此方法通常与 for-each 循环结合使用,以循环访问枚举类型的值。
Java 7 规范文档链接 : http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.9.2
该方法的行为在 Java 语言规范 #8.9.2 中定义:
此外,如果 E 是枚举类型的名称,则该类型具有以下隐式声明的静态方法:
/**
* Returns an array containing the constants of this enum
* type, in the order they're declared. This method may be
* used to iterate over the constants as follows:
*
* for(E c : E.values())
* System.out.println(c);
*
* @return an array containing the constants of this enum
* type, in the order they're declared
*/
public static E[] values();