Java中使用枚举类型

场景:有一个实体类User,有一个属性status,如果status未0代表正常,status为1代表无效,而我们在数据库中存储的是数值,但前段客户所看到的应该是字符串,此时就可以用到枚举(enum)。

public class User implements Serializable {

  private static final long serialVersionUID = 5550303936960514419L;
    /** id */
    private Integer id;  //set,get方法省略

    /** 标题 */
    private String userName;//set,get方法省略

     /** 状态 */
    private String status;//set,get方法省略
     /*枚举*/
     public static enum statusEnum{
      //枚举类别
       STATUS_ZHENGCHANG(0,"正常"),
       STATUS_WUXIAO(1,"无效");
       
       //成员变量
       private final int type;
       private final String desc;
       //构造方法
       statusEnum(int type,String desc){
          this.type = type;
          this.desc = desc;
       }
       //普通方法
       public static String getDesc(int index){
         for(statusEnum c : statusEnum.values()){
              if(c.getType() == index){
                return c.desc;
                }
            }
            return null;
         }
       }
     }           
     //get、set方法
        public int getType () {
            return type;
        }

        public String getDesc () {
            return desc;
        }

我们自己在User内部定义一个status的枚举类,来描述其状态值和说明,这里可以很直观的表现它们的关系。接着,我们从数据库中查出了User,将status属性通过相应的映射为字符串描述,如下:

User u = new User();
u.setStatus(User.statusEnum.getDesc(u.getStatus));  //status, 0: 正常 1:无效
System.out.println(u.getStatus);  //输出为正常

这样就通过枚举类型,可以自定义的,并且很优美的进行开发工作。值得注意的是如上面的getDesc是我们自己写的,枚举类自己提供了一些操作本身元素的方法,如statusEnum.values就是返回所有的元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值