1.枚举的遍历
枚举遍历,采用Enum#values()
for(Enum enum:Enum.values()){
...
}
2.枚举遍历的运用
项目中我们经常需要根据指定参数类型获取对象实例,因此在枚举类中我们需要自定方法,实例如下:
import lombok.Getter;
@Getter
public enum NeitTaskTypeEnum {
ZIP((short) 1), DES3((short) 2), ZIP_DES3((short) 3), BASE64((short) 4),
ZIP_BASE64((short) 5), DES3_BASE64((short) 6), DES3_ZIP_BASE64((short) 7);
private Short type;
NeitTaskTypeEnum(Short type) {
this.type = type;
}
public static NeitTaskTypeEnum getInstance(Short type) {
for (NeitTaskTypeEnum taskType : NeitTaskTypeEnum.values()) {
if (taskType.getType().equals(type)) {
return taskType;
}
}
return null;
}
}
3.枚举遍历的扩展
枚举遍历values方法,枚举自定义方法:根据参数获取枚举实例
我们项目经常需要根据参数类型执行不同分支,即switch,下面给出switch+Enum+Enum自定义方法,
枚举类可以参考上面提到的枚举类:NeitTaskTypeEnum
public void method(String type){
NeitTaskTypeEnum taskType = NeitTaskTypeEnum.getInstance(type);
if (taskType != null) {
switch (taskType) {
case ZIP:
zip();
break;
case DES3:
des3();
break;
case BASE64:
base64();
break;
default:
break;
}
}
}
注意
- switch表达式后面的数据类型只能是byte,short,char,int四种整型类型
- 枚举类型和java.lang.String类型(jdk1.7 开始允许 )
本文介绍了Java中枚举类型的遍历方法,通过Enum#values()进行枚举遍历,并展示了在实际项目中如何根据指定参数返回枚举实例的自定义方法应用,以及如何结合switch语句进行条件分支处理。
5168

被折叠的 条评论
为什么被折叠?



