Java中枚举的写法和用法
Java中枚举的写法和用法
在公司代码中,用了一大堆的枚举,看得我好懵逼。下面开始看看枚举怎么写和怎么用。
一、枚举的写法
关于枚举的写法,网上好多这方面的知识。这里直接贴一个我自己写的枚举类的代码。
(1)代码片段一
package com.tomtop.application.libraries.constentEnum; /** * 包材领用状态枚举类 * @author zeng.xiao.yan * @date Jun 5, 2017 1:04:40 PM * @version V1.0 */ public enum UseStatusEnum { PACKING_NOT_USE(1), // 未领用 PACKING_HAS_USED(2), // 已领用 PACKING_BACK_USE(3); // 已打回 private Integer useStatus; private UseStatusEnum(int useStatus) { this.useStatus = useStatus; } public Integer getUseStatus() { return useStatus; } }
(2)代码片段二
package com.tomtop.application.libraries.constentEnum; /** * b2b发票状态枚举类 * @author ZENG.XIAO.YAN * @date Aug 11, 2017 9:32:04 AM * @version V1.0 * @qq 1927 */ public enum B2bInvoiceStatusEnum { /** 待开票 */ WAIT_MAKE_INVOICE(10,"待开票"), /** 待关务审核发票 */ WAIT_CUSTOMS_AUDIT_INVOICE(20,"待关务审核发票"), /** 待财务审核发票 */ WAIT_FINANCIAL_AUDIT_INVOICE(30,"待财务审核发票"), /** 待财务认证发票 */ WAIT_FINANCIAL_AUTHENTICATION_INVOICE(40,"待财务认证发票"), /** 待税局退税 */ WAIT_TAX_STATION_TAX_REIMBURSEMENT(50,"待税局退税"), /** 不可退税 */ CAN_NOT_TAX_REIMBURSEMENT(60,"不可退税"), /** 已退税 */ HAS_TAX_REIMBURSEMENT(70,"已退税"); private Integer status; private String text; //构造方法 private B2bInvoiceStatusEnum(Integer status,String text ){ this.status = status; this.text = text; } public Integer getStatus() { return status; } public String getText() { return text; } }
二、枚举类在代码中的用法
(1)代码片段一
// 枚举使用案例01 productPackingRecord.setUseStatus(UseStatusEnum.PACKING_NOT_USE.getUseStatus()); //设为未领用状态
注意:这里调用getUseStatus这个方法才能返回枚举常量的值。
(2)代码片段二
// 枚举使用案例02 public Map<String,String> getOptions(){ Map<String,String> options = new LinkedHashMap<>(); B2bInvoiceStatusEnum[] statusEnums = B2bInvoiceStatusEnum.values(); // 获得枚举对象数组 // 遍历枚举对象 for (B2bInvoiceStatusEnum b2bInvoiceStatusEnum : statusEnums) { // eg:put("10","待开票") options.put(b2bInvoiceStatusEnum.getStatus().toString(), b2bInvoiceStatusEnum.getText()); } return options; } // 枚举使用案例03 /** (3)保存发票,发票状态设为'待关务部审核发票' */ invoiceInfo.setStatus(B2bInvoiceStatusEnum.WAIT_CUSTOMS_AUDIT_INVOICE.getStatus()); session.save(invoiceInfo);
未完待续。。。。。。。。
作者:zeng1994
出处:http://www.cnblogs.com/zeng1994/
本文版权归作者和博客园共有,欢迎转载!但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!