java技术系列(一) Enum
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的更多相关文章
- 【Java技术系列】爱情36技之暗送秋波的技术
1. 这篇文章想分享已经很久了,苦于皱巴巴的技术比较生涩难懂,迟迟没有找到好的分享方式,今天结合爱情中暗送秋波的故事的形式,尝试分享一下. 以后如果再有人问你们:能否在加载类的时候,对字节码进行修改? ...
- 【Java技术系列】爱情36技之追美妹的技术
1. 在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些,超过了外星人设置的阈值,立刻拉响了人类即将产生文明的警报.因为外星人认为,人类已经产生了对宇宙的好奇心,文明的产生,科技 ...
- 【Java技术系列】爱情36技之记忆永存
1. 关注“一猿小讲”的伙伴们都清楚,Java 那小子带着心爱的 Python 菇凉,去了一趟浪漫的土耳其,然后一起又去了东京和巴黎,接着 Python 菇凉自己又去了云南的大理. 就在昨天,Pyt ...
- 【Java技术系列】爱情36技之Bug大战
1. 鲁迅先生说:程序员,天不怕地不怕,就怕小虫儿爬呀爬,爬呀爬. 随着时间的推移,鲁迅先生又说:真正勇猛的程序员,敢于让虫子面对惨淡的虫生. 虫子在程序员心中是啥东西?虫子的学名为 Bug,是多少入 ...
- 顽石系列:Java技术面试
顽石系列:Java技术面试 JDBC相关 1.Statement与PreparedStatement的区 别,什什么是SQL注⼊入,如何防⽌止SQL注⼊? PreparedStatement支持动态设 ...
- Java 加解密技术系列文章
Java 加解密技术系列之 总结 Java 加解密技术系列之 DH Java 加解密技术系列之 RSA Java 加解密技术系列之 PBE Java 加解密技术系列之 AES Java 加解密技术系列 ...
- Tomcat系列之Java技术详解
一.概述 1.前言 在前面几篇博客中,我们和大家说了负载均衡器服务器.Web服务器.反向代理服务器.缓存服务器,从这篇博客开始我们和大家说说应用程序服务器,对于上述内容不了解的博友可以去参考一下我们前 ...
- 11.Java 加解密技术系列之 总结
Java 加解密技术系列之 总结 序 背景 分类 常用算法 原理 关于代码 结束语 序 上一篇文章中简单的介绍了第二种非对称加密算法 — — DH,这种算法也经常被叫做密钥交换协议,它主要是针对密钥的 ...
- 10.Java 加解密技术系列之 DH
Java 加解密技术系列之 DH 序 概念 原理 代码实现 结果 结束语 序 上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH.当然 ...
- 9.Java 加解密技术系列之 RSA
Java 加解密技术系列之 RSA 序 概念 工作流程 RSA 代码实现 加解密结果 结束语 序 距 离上一次写博客感觉已经很长时间了,先吐槽一下,这个月以来,公司一直在加班,又是发版.上线,又是新项 ...
随机推荐
- Word15 财务部年度报告office真题
1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在 ...
- [转载]Net分布式系统之四:RabbitMQ消息队列应用
消息通信组件Net分布式系统的核心中间件之一,应用与系统高并发,各个组件之间解耦的依赖的场景.本框架采用消息队列中间件主要应用于两方面:一是解决部分高并发的业务处理:二是通过消息队列传输系统日志.目前 ...
- 中间件Middleware 使用及相关概念
中间件是装配再应用管道里处理请求和相应的软件,是使用Use,Map,Run扩展方法配置的请求委托,请求委托可以是类,或者匿名方法.每个中间件可调用下一个中间件,直到终端中间件(不调用下一个中间件的就是 ...
- sql server某列数据值逐行累加
sql语句示例: DECLARE @pts varchar(max)='[{"x":5.801718000000000e+002,"y":3.633722000 ...
- 寒假acm训练第三周
这个题就是简单的数学思维 如果这个数组里全部都是10的倍数那直接计数达到n就直接出0 如果有其它不是10的倍数那找出最小的直接减去就可以了 下面就是代码 #include<iostream> ...
- 10. watch的实现原理
watch的实现原理 watch和computed一样, 也是基于 Watcher 的 组件内部使用的watch 和 外部使用的 vm.$watch()都是调用的Vue.prototype.$watc ...
- CTreeCtrl的用法汇总(转)
一 基础操作 1 插入节点 1)插入根节点 //插入根节点 HTREEITEM hRoot; CString str=L"ROOT" hRoot=nTreeCtrl.Insert ...
- NSA对下一代新技术的评估“网络透视”2010
时间线回到2010年,那时候做渗透测试流行找目标还是通过Google hack,Google dork去寻找目标比如inurl:asp?id= 寻找asp网站可利用的注入点,在厉害点一键爬取域名在配合 ...
- Android Studio Gradle 输出信息乱码
Android Studio Gradle 输出信息出现乱码 如下: > Task :app:compileDebugJavaWithJavacע: ijЩ�����ļ�ʹ�û����ѹ�ʱ�� ...
- REST开发(1)
REST风格 REST简介 Rest(Representational State Transfer),表现形式状态转换(访问网络资源的形式) 传统风格资源描述形式 http://localhost/ ...