Java中枚举的写法和用法

span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }.cm-searching {background: #ffa; background: rgba(255, 255, 0, .4);}.cm-force-border { padding-right: .1px; }@media print { .CodeMirror div.CodeMirror-cursors {visibility: hidden;}}.cm-tab-wrap-hack:after { content: ""; }span.CodeMirror-selectedtext { background: none; }.CodeMirror-activeline-background, .CodeMirror-selected {transition: visibility 0ms 100ms;}.CodeMirror-blur .CodeMirror-activeline-background, .CodeMirror-blur .CodeMirror-selected {visibility:hidden;}.CodeMirror-blur .CodeMirror-matchingbracket {color:inherit !important;outline:none !important;text-decoration:none !important;}.CodeMirror-sizer {min-height:auto !important;}
-->
li {list-style-type:decimal;}.wiz-editor-body ol.wiz-list-level2 > li {list-style-type:lower-latin;}.wiz-editor-body ol.wiz-list-level3 > li {list-style-type:lower-roman;}.wiz-editor-body blockquote {padding: 0 12px;}.wiz-editor-body blockquote > :first-child {margin-top:0;}.wiz-editor-body blockquote > :last-child {margin-bottom:0;}.wiz-editor-body img {border:0;max-width:100%;height:auto !important;margin:2px 0;}.wiz-editor-body table {border-collapse:collapse;border:1px solid #bbbbbb;}.wiz-editor-body td,.wiz-editor-body th {padding:4px 8px;border-collapse:collapse;border:1px solid #bbbbbb;min-height:28px;word-break:break-word;box-sizing: border-box;}.wiz-hide {display:none !important;}
-->

       在公司代码中,用了一大堆的枚举,看得我好懵逼。下面开始看看枚举怎么写和怎么用。

一、枚举的写法

        关于枚举的写法,网上好多这方面的知识。这里直接贴一个我自己写的枚举类的代码。
(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);
// 枚举使用案例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);

                              http://blog.csdn.net/qiyueqinglian/article/details/50738548
 
 
 

 未完待续。。。。。。。。

Java中枚举的写法和用法的更多相关文章

  1. JAVA中字符串函数subString的用法小结

    本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int begi ...

  2. 【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别

    Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: String str1 = new String(" ...

  3. java中 this 的三种用法

    Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...

  4. Java中枚举的使用

    Java中枚举其实就是静态常量,今天发现枚举里面其实还能加方法,学习了下, 代码如下: package org.pine.test; import java.util.HashMap; import ...

  5. java基础---->Java中枚举的使用(一)

    这里介绍一下java中关于枚举的使用. java中枚举的使用 一.枚举中可以定义方法 参照于TimeUnit的使用,TimeUnit.MILLISECONDS.sleep(1000); LoveUti ...

  6. Java中try,catch,finally的用法

    Java中try,catch,finally的用法,以前感觉还算熟悉,但看到一篇博文才有更深点的理解,总结网友博客如下. Java异常处理的组合方式: 1.try+catch  运行流程:运行到try ...

  7. Java中枚举的常见用法

    在JDK1.5以后引入了一种新的类型,就是枚举(enum).enum是用来声明枚举类型数据,它可以像数组一样存储许多的元素,但是不同于数组的是,它除了数字不能存储以外, 其他类型的如字母.特殊符号.汉 ...

  8. java中枚举类型的使用

    Java 枚举(enum) 详解7种常见的用法 JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. web项目里实体类使用枚举类型: 一般在该实体 ...

  9. 关于Java中枚举Enum的深入剖析

    在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定.Java也不例外.Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析. 什么是Enum Enum是自Java ...

随机推荐

  1. JUnit手动设计测试方法以及与Randoop的自动生成测试的比较

    手动设计测试 在已有的web project本地目录lib文件夹里导入两个jar文件(版本可不一样):junit-4.12.jar和hamcrest.jar 打开eclipse,导入项目,右击项目选择 ...

  2. Python+Selenium笔记(十):元素等待机制

     (一) 前言 突然的资源受限或网络延迟,可能导致找不到目标元素,这时测试报告会显示测试失败.这时需要一种延时机制,来使脚本的运行速度与程序的响应速度相匹配,WebDriver为这种情况提供了隐式等待 ...

  3. 《细说PHP》第二版--读书笔记

    第五章 PHP的基本语法 5.2.4 在程序中使用空白的处理 5.3 变量 5.3.1 变量的声明 在php中变量的声明必须是使用一个$符号,后面跟变量名来表示 unset()函数释放指定变量 iss ...

  4. npm install "Unexpected end of JSON input while parsing near"问题

    问题 最近配了台新电脑,开始装Node环境,去官网下载了最新的Node安装包.安装也没有问题,但是在使用npm install这个命令的时候,就会出现Unexpected end of JSON in ...

  5. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  6. INCLUDE COMMON FILES IN HTML USING JQUERY

    Simple example for including common files in HTML. JQuery load() function is used for including comm ...

  7. Linux内存寻址之分段机制及分页机制【转】

    前言 本文涉及的硬件平台是X86,如果是其他平台的话,如ARM,是会使用到MMU,但是没有使用到分段机制: 最近在学习Linux内核,读到<深入理解Linux内核>的内存寻址一章.原本以为 ...

  8. linux常见问题解决

    1.登录环境故障的原理及解决办法? -bash-4.1$ -bash-4.1$ cp /etc/skel/.bash* .

  9. chattr -lsattr 文件加锁解锁简单用法

    chattr: 加锁文件,无修改,无删除权限. 常用参数:        +a:  可给文件追加内容,但无法删除. +i  加锁文件(文件不能被删除.改名.设定链接关系,同时不能写入或追加内容) -i ...

  10. Django之views视图函数

    views视图函数属于MTV中逻辑处理的部分视图函数包含着两个对象,HttpRequest对象和HttpResponse对象 一.HttpRequest对象 HttpRequest对象在Django中 ...