之 Map -> EnumMap
使用EnumMap能够确保不会弄乱顺序来赋初始值,或不经意地造成enumerated类型重新排列顺序
用Enum来当Keyset....Map的index...看代码
[quote]
//定义一个enum
public enum AntStatus {
INSERT,
DELETE,
UPDATE
}
//定义一个EnumMap
EnumMap<AntStatus,String> eMap = new EnumMap<AntStatus,String>(AntStatus.class);
eMap.put(AntStatus.DELETE, "delete action");
eMap.put(AntStatus.INSERT, "insert action");
eMap.put(AntStatus.UPDATE, "update action");
for (AntStatus status: AntStatus.values()) {
System.out.println(eMap.get(status));
}
[/quote]
输出...
[quote]
insert action
delete action
update action
[/quote]
方便,Tiger之前只能用定义一个class,然后里面定义很多 "public static final int xxx" 变量,然后通过数组来存取....(例子略)
之 Set -> EnumSet
[quote]
EnumSet eSet = EnumSet.allOf(AntStatus.class);
EnumSet eSet = EnumSet.of(AntStatus.DELETE,AntStatus.INSERT);
[color=blue]
//还有很多创建EnumSet的方法...看API吧[/color]
[/quote]
使用EnumMap能够确保不会弄乱顺序来赋初始值,或不经意地造成enumerated类型重新排列顺序
用Enum来当Keyset....Map的index...看代码
[quote]
//定义一个enum
public enum AntStatus {
INSERT,
DELETE,
UPDATE
}
//定义一个EnumMap
EnumMap<AntStatus,String> eMap = new EnumMap<AntStatus,String>(AntStatus.class);
eMap.put(AntStatus.DELETE, "delete action");
eMap.put(AntStatus.INSERT, "insert action");
eMap.put(AntStatus.UPDATE, "update action");
for (AntStatus status: AntStatus.values()) {
System.out.println(eMap.get(status));
}
[/quote]
输出...
[quote]
insert action
delete action
update action
[/quote]
方便,Tiger之前只能用定义一个class,然后里面定义很多 "public static final int xxx" 变量,然后通过数组来存取....(例子略)
之 Set -> EnumSet
[quote]
EnumSet eSet = EnumSet.allOf(AntStatus.class);
EnumSet eSet = EnumSet.of(AntStatus.DELETE,AntStatus.INSERT);
[color=blue]
//还有很多创建EnumSet的方法...看API吧[/color]
[/quote]