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 }

java技术系列(一) Enum的更多相关文章

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

    1. 这篇文章想分享已经很久了,苦于皱巴巴的技术比较生涩难懂,迟迟没有找到好的分享方式,今天结合爱情中暗送秋波的故事的形式,尝试分享一下. 以后如果再有人问你们:能否在加载类的时候,对字节码进行修改? ...

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

    1. 在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些,超过了外星人设置的阈值,立刻拉响了人类即将产生文明的警报.因为外星人认为,人类已经产生了对宇宙的好奇心,文明的产生,科技 ...

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

    1.  关注“一猿小讲”的伙伴们都清楚,Java 那小子带着心爱的 Python 菇凉,去了一趟浪漫的土耳其,然后一起又去了东京和巴黎,接着 Python 菇凉自己又去了云南的大理. 就在昨天,Pyt ...

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

    1. 鲁迅先生说:程序员,天不怕地不怕,就怕小虫儿爬呀爬,爬呀爬. 随着时间的推移,鲁迅先生又说:真正勇猛的程序员,敢于让虫子面对惨淡的虫生. 虫子在程序员心中是啥东西?虫子的学名为 Bug,是多少入 ...

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

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

  6. Java 加解密技术系列文章

    Java 加解密技术系列之 总结 Java 加解密技术系列之 DH Java 加解密技术系列之 RSA Java 加解密技术系列之 PBE Java 加解密技术系列之 AES Java 加解密技术系列 ...

  7. Tomcat系列之Java技术详解

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

  8. 11.Java 加解密技术系列之 总结

    Java 加解密技术系列之 总结 序 背景 分类 常用算法 原理 关于代码 结束语 序 上一篇文章中简单的介绍了第二种非对称加密算法 — — DH,这种算法也经常被叫做密钥交换协议,它主要是针对密钥的 ...

  9. 10.Java 加解密技术系列之 DH

    Java 加解密技术系列之 DH 序 概念 原理 代码实现 结果 结束语 序 上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH.当然 ...

  10. 9.Java 加解密技术系列之 RSA

    Java 加解密技术系列之 RSA 序 概念 工作流程 RSA 代码实现 加解密结果 结束语 序 距 离上一次写博客感觉已经很长时间了,先吐槽一下,这个月以来,公司一直在加班,又是发版.上线,又是新项 ...

随机推荐

  1. Google Earth Engine——基于改进的RSEI评估生态环境(水体掩膜后)

    未经允许,禁止随意转载,尊重他人版权,仅供学习参考,欢迎交流. 背景介绍 遥感生态指数(Remote Sensing Ecological Index)的获得,是使用主成分分析法耦合了绿度.湿度.干度 ...

  2. Linux服务器监控性能测试

    1.进程与线程的定义与区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位[例如电脑上的不同程序] 线程是进程的一个实体,是cpu调度和分派的基本 ...

  3. mybatis_pagehelper_selectOne的SQL语句被莫名的增加分页相关设置,暂定解决办法

    在使用mybatis.以及其分页插件pagehelper时,原本的一个selectOne的sql语句被莫名(原因未知)的加上了分页相关,引起如下异常: exception is org.apache. ...

  4. risv 深入问题总结

    1.risv 如何实现锁机制, 通过哪个寄存器实现 2.risv 如何实现堆栈切换,保存哪些寄存器, 与ARM保持寄存器的差异 3.risv 的中断异常  与 arm中断异常的异同

  5. csp201503-2(数字排序)

    问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出. 输入格式 输入的第一行包含一个整数n,表示给定数字的个数. 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所 ...

  6. Mybatisplus-Generator代码生成器-简单示例

    简单示例 import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotatio ...

  7. Spring框架1--IoC

    Spring框架之IoC Spring的后处理器 待补充~ BeanFactoryPostProcessor BeanPostProcessor Bean的生命周期 具体可见图解:点击这里 补充: A ...

  8. 第八章用matplotlib、seaborn、pyecharts绘制散点图

    文章目录 散点图 matplotlib绘制散点图 seaborn绘制散点图 pyecharts绘制散点图 源码地址 本文可以学习到以下内容: matplotlib 中文乱码解决办法 seaborn 中 ...

  9. java常用、通用代码或配置

    pom.xml 支持springBoot parent <parent> <groupId>org.springframework.boot</groupId> & ...

  10. Linux内核红黑树2—移植笔记 2

    转自:https://zhuanlan.zhihu.com/p/26599934 红黑树(Red-Black Tree,RBT)是一种平衡的二叉查找树,前面的红黑树原理与实现这篇文章中详细介绍了红黑树 ...