In the company code, with a lot of enumeration, I am very confused to see. Let's start by looking at how enumerations are written and how to use them. First, the enumeration of the wording of the enumeration, online a lot of this knowledge. Here is a code for the enumeration class that I write myself directly.
(1) Code snippet One
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;
}
}
Package <textarea style="display: none">com.tomtop.application.libraries.constentenum;/** * Packaging picking status enum class * @author Zeng.xiao.yan * @date June 5 1:04:40 PM * @version V1.0 */public enum Usestatusenum {packing_not_use (1),//Not picked packing_has_used (2),// Packing_back_use (3) has been picked up; Called back private Integer usestatus;private usestatusenum (int usestatus) {this.usestatus = Usestatus;} Public Integer Getusestatus () {return usestatus;}}</textarea>(2) code snippet two
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;
}
}
Package <textarea style="display: none">com.tomtop.application.libraries.constentenum;/** * Business-to-Business invoice Status Enumeration class * @author ZENG. XIAO. YAN * @date 9:32:04 AM * @version V1.0 * @qq 1927 */public enum B2binvoicestatusenum {/** to open Ticket */wait_make_invoice (10, "to be Invoiced"),/** to Customs audit invoice */wait_customs_audit_invoice (20, "Pending audit Invoice"),/** pending Financial Review Invoice */wait_financial _audit_invoice (30, "pending financial audit Invoice"),/** pending financial certification invoice */wait_financial_authentication_invoice (40, "pending financial certification Invoices"),/** tax rebate */wait_ Tax_station_tax_reimbursement (50, "tax rebate"),/** non-refundable */can_not_tax_reimbursement (60, "non-refundable"),/** has been refunded */has_tax_ Reimbursement (70, "refunded");p rivate integer status;private String text;//constructor method Private B2binvoicestatusenum (integer status , String text) {this.status = Status;this.text = text;} Public Integer GetStatus () {return status;} Public String GetText () {return text;}}</textarea>Second, the enumeration class in the Code usage (1) code fragment One
// 枚举使用案例01
productPackingRecord.setUseStatus(UseStatusEnum.PACKING_NOT_USE.getUseStatus()); //设为未领用状态
<textarea style="display: none">//enumeration use Case 01productpackingrecord.setusestatus (UseStatusEnum.PACKING_NOT_USE.getUseStatus ());//set to no status</textarea>Note: This method is called Getusestatus to return the value of the enumeration constant. (2) Code fragment two
// 枚举使用案例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);
<textarea style="display: none">//enumeration use case map<string,string> getoptions () {map<string,string> options = new LINKEDHASHMAP&L T;> (); b2binvoicestatusenum[] Statusenums = B2binvoicestatusenum.values ();//Get an array of enumerated objects//iterate over the enumeration object for (B2binvoicestatusenum B2binvoicestatusenum:statusenums) {//Eg:put ("10", "Pending Invoicing") Options.put (B2binvoicestatusenum.getstatus (). ToStrin g (), B2binvoicestatusenum.gettext ());} return options;} Enumerate the use case 03/** (3) to save the invoice, the invoice status is set to ' pending Customs department audit Invoice ' */invoiceinfo.setstatus (b2binvoicestatusenum.wait_customs_audit_ Invoice.getstatus ()); Session.save (Invoiceinfo)</textarea> ;
Reference Link: http://blog.csdn.net/u014527058/article/details/52751488 http://blog.csdn.net/qiyueqing lian/article/details/50738548
To be continued ...
Syntax and usage of enumerations in Java