前段时间做了一个电商项目,负责用户的登录模块。在这个模块里用到了泛型、Enum枚举等知识点。
今天我们就总结一下在Java中如何使用Enum类。
在Java没引入Enum(或者我们没有用过Enum)之前,通常表示枚举类型的模式是声明一组int常量或者String常量
public class Season{
public final static String Spring ="2-4月";
public final static String SUMMER ="5-7月";
public final static String AUTUMN = "8-10月";
public final static String WINTER = "11-1月";
}
这种模式在开发过程中是不安全的,因为我们无法保证传入值测合法性。
如果我们引入Enum来表示这段代码就非常方便和安全了。
public Enum Season{
//注意多个类型之间的分割是用“,”
SPRING("春天","2-4月"),
SUMMER("夏天","5-7月"),
AUTUMN("秋天","8-10月"),
WINTER("冬天","11-1月");
//定义变量,注意是用private修饰
private String name;
private String SeasonTime;
//定义方法,修饰可以省略,默认private
Season(String name,String SeasonTime){
this.name=name;
this.SeasonTime=SeasonTime;
}
public String getName(){
return name;
}
public String getSeasonTime(){
return SeasonTime();
}
}
在我参与的项目中,Enum用于返回用户状态码。
public enum ResponseCode {
SUCCESS(0, "SUCCESS"),
ERROR(1, "ERROR"),
NEED_LOGIN(10, "NEED_LOGIN"),
ILLEGAL_ARGUMENT(2, "ILLEGAL_ARGUMENT");
private final int code;
private final String desc;
ResponseCode(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
}
什么时候使用枚举呢?
我们编译前就知道其包含的所有值的集合。
本文介绍了如何使用Java的Enum类来提高代码的安全性和可维护性。通过实例对比了使用String常量和Enum的不同,并展示了如何利用Enum实现用户状态码。
512

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



