Enum的本质是类,继承自Enum类。

enum直接使用==进行比较就可以。

类型的静态values方法,返回左右的枚举实例。

ordinal方法返回enum声明中枚举常亮的位置。

enum可以继承接口。api可以面向枚举的接口进行编程,这样这个接口可以接受任何接收实现该接口的枚举。

适用场景:在实际编程中,存在稳定的有限数据集,如周一到周日,四季名称,男女性别等。适用于枚举。

可以在switch中使用。

 1 package testjava;
 2
 3 import com.alibaba.fastjson.JSON;
 4
 5 /**
 6  * Create with test01
 7  * Auther: hp.wang on 2017/9/19
 8  * DateTime: 2017/9/19 20:16
 9  */
10 public class testEnum {
11
12     //常用定义Enum方法
13     public enum Role {
14         ADMIN(1), GUIDER(2), ROBOT(3),USER(4);  //顺序很重要
15
16         private int value;
17
18         Role(int v) {
19             this.value = v;
20         }
21
22         public int getValue() {
23             return value;
24         }
25
26         public static Role getByValue(int v) {
27             for (Role r : Role.values()) {
28                 if (r.getValue() == v) {
29                     return r;
30                 }
31             }
32             throw new IllegalArgumentException(v + " is not found in this enum.");
33         }
34     }
35
36     public static void main(String[] args) {
37         //使用方法:
38         Role role = Role.ADMIN;
39         System.out.println(role.toString() + ":" + role.getValue());
40         System.out.println(Role.getByValue(2).toString());
41         System.out.println("json:"+ JSON.toJSONString(role));
42
43         Role role1=JSON.parseObject("\"ADMIN\"",Role.class);
44         Role role2=JSON.parseObject("\"USER\"",Role.class);
45
46         System.out.println("end");
47     }
48 }

转载于:https://www.cnblogs.com/netact/p/7554042.html

java技术系列(一) Enum相关推荐

  1. 【Java技术系列】爱情36技之猿门授渔

    上面蓝色"一猿小讲"点击加关注 觉得好看,记得再设置"星标"哦 [这是一猿小讲的第 29 篇原创分享] 1. 授人以鱼,不如授人以渔.就用上面两张图片展开今天的 ...

  2. 【Java技术系列】爱情36技之记忆永存

    [这是一猿小讲的第 32 篇原创分享] 1.  关注"一猿小讲"公众号的伙伴们都清楚,Java 那小子带着心爱的 Python 菇凉,去了一趟浪漫的土耳其,然后一起又去了东京和巴黎 ...

  3. Java技术系列文章汇集(长期更新)

    为什么80%的码农都做不了架构师?>>>    JVM Java之JDK.JRE.JVM Java之JVM的内部结构及运行机制 Java之JVM内存结构.Java内存模型.Java对 ...

  4. 【Java技术系列】爱情36技之趣味相投

    [这是一猿小讲的第 27 篇原创分享] 1. 鲁迅先生曾经说:两个人志同道合,爱情才能走得长久. 我们老百姓常说:磨刀不误砍柴工:工欲善其事必先利其器. 准备好小板凳,今天的故事就从这两句不搭边的话开 ...

  5. 【Java技术系列】爱情36技之暗送秋波的技术

    [这是一猿小讲的第 26 篇原创分享] 1. 这篇文章想分享已经很久了,苦于皱巴巴的技术比较生涩难懂,迟迟没有找到好的分享方式,今天结合爱情中暗送秋波的故事的形式,尝试分享一下. 以后如果再有人问你们 ...

  6. 【Java技术系列】爱情36技之Bug大战

    [这是一猿小讲的第 28 篇原创分享] 1. 鲁迅先生说:程序员,天不怕地不怕,就怕小虫儿爬呀爬,爬呀爬. 随着时间的推移,鲁迅先生又说:真正勇猛的程序员,敢于让虫子面对惨淡的虫生. 虫子在程序员心中 ...

  7. 【Java技术系列】爱情36技之追美妹的技术

    [这是一猿小讲的第 25 篇原创分享] 1. 在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些,超过了外星人设置的阈值,立刻拉响了人类即将产生文明的警报.因为外星人认为,人类已 ...

  8. 顽石系列:Java技术面试

    顽石系列:Java技术面试 JDBC相关 1.Statement与PreparedStatement的区 别,什什么是SQL注⼊入,如何防⽌止SQL注⼊? PreparedStatement支持动态设 ...

  9. Tomcat系列之Java技术详解

    一.概述 1.前言 在前面几篇博客中,我们和大家说了负载均衡器服务器.Web服务器.反向代理服务器.缓存服务器,从这篇博客开始我们和大家说说应用程序服务器,对于上述内容不了解的博友可以去参考一下我们前 ...

最新文章

  1. 07、C语言——函数
  2. exp()用法和点乘的原因
  3. 线性表----单链表
  4. Swift - 多线程GCD详解
  5. 莫队(不带修改)模板
  6. ubuntu 系统中如何截图
  7. 如何在 ASP.Net Core 中实现 健康检查
  8. internetreadfile读取数据长度为0_YOLOV3的TensorFlow2.0实现,支持在自己的数据集上训练...
  9. Failed connect to github.com:443; No error
  10. 什么行业适合年轻人自主创业
  11. 平衡二叉树---AVL树的实现
  12. MacDroid for mac(安卓手机数据传输助手)
  13. 遇到个别手机前置摄像头相差90度的怪事
  14. ArcGIS实验教程:ArcGIS 10.2手把手图文安装教程(经典版)
  15. Clojure学习笔记(一)——介绍、安装和语法
  16. 安卓沉浸式状态栏_要简单还要沉浸 Dacom L10 主动降噪(ANC)蓝牙耳机体验
  17. 虚地址到实地址的翻译过程
  18. matlab示波器绘图工具,快速绘制Simulink示波器波形
  19. 【第三章】 C语言之牛客网刷题笔记 【点进来保证让知识充实你一整天】
  20. Teams认证话机系列(2)--AudioCodes C450HD

热门文章

  1. 小程序服务器七牛云,基于七牛云 API 开发的微信小程序 SDK
  2. 分区助手扩大c盘后自动修复_C盘空间不够,如何扩大?
  3. 记录flink和spark提交任务常用句
  4. IE8提示JS错误(KB927917)终极解决方法
  5. CF1202 - E. You Are Given Some Strings...(AC自动机)
  6. C. Commentator problem
  7. B+/-Tree原理及mysql的索引分析
  8. 堆排序的时间复杂度分析
  9. TCP、UDP数据包大小的限制
  10. 【Linux】vim简单配置