枚举类与注解
枚举类
类的对象是有限个的,确定的可使用枚举
例如星期、性别、季节、支付方式等
当需要定义一组常量时,强烈建议使用枚举类
阿里云代码规范中不允许出现魔法值哦,如下
//魔法值
if("男".equal(sex)){
//此时这里的男为魔法值,因为未进行定义
return "这是个男生"
}
解决方法
//解决方法
final String MAN = "男"
if(MAN.equal(sex)){
//但是如果有很多个常量
return "这是个男生"
}
但是这样的确符合规范了,那如果有很多个常量,或者其他的方法也要使用,岂不是很麻烦,那么,不如将性别定义为一个枚举类
public enum Sex {
BOY(0,"男孩"),GIRL(1,"女孩");
int code;
String sex;
Sex(int code, String sex){
this.code=code;
this.sex=sex;
}
public int getCode(){
return code;
}
public String getSex(){
return sex;
}
}
而在代码中使用,则更为直观
int sex = sexService.getsex(id);//获取id值为id的用户的性别代码
if(Sex.Boy.getCode() == sex){
这是男孩
}
同理,这样的操作更适合于管理员之类的定义,因为在项目中,我们经常要通过管理员不同,而去做不同的操作
关于枚举类的更多操作,请继续往下看
如何使用关键字enum定义枚举类
//默认继承于Enum
public enum Season