码迷,mamicode.com
首页 > 编程语言 > 详细

java技术系列(一) Enum

时间:2017-09-19 23:03:57      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:blog   UI   his   span   test   继承   with   switch   使用   

 

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

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

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

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

 

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

可以在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

标签:blog   UI   his   span   test   继承   with   switch   使用   

原文地址:http://www.cnblogs.com/netact/p/7554042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!