一、介绍
- 枚举类型是Java5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束
- 它一般用来保存一组常量:一年4个季节、一年的12个月、一周7天、东南西北方向
- 元注解属性经常使用,因为要限制参数只能是枚举中的一个
二、代码实现
1、创建
1、不带属性的枚举
public enum Color {
RED,
GREEN,
BLUE;
}
System.err.println(Color.BLUE);
2、一个属性的枚举
public enum DeleteStatus {
NOT_DELETE("0"),
DELETED("1");
private String status;
DeleteStatus(String status){
thisstatus=status;
}
public String getlStatus(){
return status;
}
public static DeleteStatus getByStatus(String status){
for(DeleteStatus deleteStatus:values()){
if(deleteStatus.getStatus().equals(status)){
return deleteStatus;
}
}
return null;
}
3、多个属性的枚举
public enum HandleStatus {
NOT_PASS("1","通过"),
PASS("1","通过");
private String handleResult;
private String comment;
HandleStatus(String handleResult,String comment){
this.handleResult=handleResult;
this.comment=comment;
}
public String getHandleResult(){
return handleResult;
}
public String getComment(){
return comment;
}
public static String getCommentByResult(String handleResult){
for(HandleStatus bean:values()){
if(bean.getHandleResult().equals(handleResult)){
return bean.getComment();
}
}
return null;
}
}
2、构造函数
3、枚举
- 所有枚举值默认都是
public
、static
、final
的
4、枚举实现的接口
- Enum默认实现了
java.lang.Comparable
接口
5、枚举值名称
String name=Color.BLUE.name();
6、toString
String str=Color.BLUE.toString();
7、构建枚举
- 方法返回指定字符串值的枚举常量,这个方法和
toString
方法是相对应的
Color blue=Color.valueOf(“BLUE”);
8、遍历
Color colors[]=Color.values();
9、枚举索引
for (Color color : values()){
System.out.println(color + " : " + color.ordinal());
}
10、比较
Color c1=Color.BLUE;
Color c2=Color.BLUE;
c1==c2、c1.equals(c2)