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. java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)问题

    此报错大多数存在的问题为mysql密码错误,需要去JDBC文件中寻找url查看是否密码错误.

  2. Linux修改开机图形/etc/motd

    修改 /etc/motd vim /etc/motd 植入图形 .--, .--, ( ( \.---./ ) ) '.__/o o\__.' {= ^ =} > - < / \ // \ ...

  3. 时间戳转换为yyyy-MM-dd格式

    原文链接https://blog.csdn.net/hu104160112/article/details/111167033

  4. 金蝶AAS-V9精简版使用手册1.6

    1.安装 获取中间件安装包(AAAS.V9.ZIP)直接解压即可. 1.1.需安装jdk环境,上篇文章 1.2.路径没有特定要求,通常放置在/opt下 2.初次启动金蝶需要前台启动设置管控密码 lin ...

  5. vue 图片分页

    <div class="activities phone"> <!-- 动态 --> <div class="activity" ...

  6. RockyLinux8.7 制作OpenSSH9.2 rpm包

    由于系统原装的openssh存在高危的漏洞,安全扫描不过,故制作出最新版本的rpm包修复openssh高危漏洞. 1.安装基础环境工具 dnf install wget make gcc perl r ...

  7. 关于sqlsugar二级缓存

    二级缓存 1.优点 (1).维护方便:SqlSugar的 二级缓存 支持单表和多表的 CRUD 自动缓存更新 ,减少了复杂的缓存KEY维护操作 (2).使用方便:可以直接在Queryable.With ...

  8. 生产中遇到的spark任务问题

    spark版本 2.2.0 日志里面的信息: WARN RowBasedKeyValueBatch: Calling spill() on RowBasedKeyValueBatch. Will no ...

  9. vue 数组对象深拷贝 并根据某项属性排序

    vue 数组对象深拷贝 并根据某项属性   serialNumber  排序 原始数据 navListData: [ { name: '企业速览', isHot: false, isVip: fals ...

  10. linux mint 中文支持

    sudo apt-get install localessudo dpkg-reconfigure locales 设置zh_CN.UTF-8