枚举类型的相关解析

首先创建枚举类型的类对象。

 1 package lltse.base.enumdemo;
 2
 3 public enum LevelEnum
 4 {
 5     //创建枚举对象,调用有参构造函数实例化
 6     PERFECT("优秀")
 7     {
 8         //实现抽象方法
 9         public int getNum()
10         {
11             return 5;
12         }
13     },
14     GOOD("良好")
15     {
16         //实现抽象方法
17         public int getNum()
18         {
19             return 4;
20         }
21     },
22     MID("中等")
23     {
24         //实现抽象方法
25         public int getNum()
26         {
27             return 3;
28         }
29     },
30     PASS("及格")
31     {
32         //实现抽象方法
33         public int getNum()
34         {
35             return 2;
36         }
37     },
38     NOPASS("不及格")
39     {
40         //实现抽象方法
41         public int getNum()
42         {
43             return 1;
44         }
45     };
46
47     private String name;
48
49     //枚举无参构造函数
50     private LevelEnum()
51     {
52     }
53
54     //枚举有参构造函数
55     private LevelEnum(String name)
56     {
57         this.name = name;
58     }
59
60
61     public String getName()
62     {
63         return name;
64     }
65
66     //枚举抽象方法定义,要求创建对象的子类都需要实现该方法
67     public abstract int getNum();
68 }

其次是枚举类型的测试类

 1 package lltse.base.enumdemo;
 2
 3 public class EnumDemo
 4 {
 5
 6     public static void main(String args [])
 7     {
 8         testEnumLevel(LevelEnum.MID);
 9
10
11         //返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
12         LevelEnum level1 = LevelEnum.PERFECT;
13         System.out.println(""+level1.ordinal());
14
15         //返回带指定名称的指定枚举类型的枚举常量
16         System.out.println(LevelEnum.valueOf("GOOD").getName());
17
18         //获取枚举类型的数组
19         LevelEnum [] enums = LevelEnum.values();
20         for(LevelEnum enum1 : enums)
21         {
22             System.out.println("name:>>>"+enum1.getName()+"num:>>>"+enum1.getNum());
23         }
24     }
25
26     private static void testEnumLevel(LevelEnum level)
27     {
28         switch(level)
29         {
30             //此处可以使用byte short int char enum 几种数据类型
31             case PERFECT:
32                 //此处调用枚举的getName方法获取枚举名称,返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
33                 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal());
34                 break;
35             case GOOD:
36                 System.out.println(""+level.getName()+">>>"+level.getNum());
37                 break;
38             case MID:
39                 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal());
40                 break;
41             case PASS:
42                 System.out.println(""+level.getName()+">>>"+level.getNum());
43                 break;
44             case NOPASS:
45                 System.out.println(""+level.getName()+">>>"+level.getNum());
46                 break;
47             default:
48                 new RuntimeException("non");
49         }
50     }
51 }
时间: 2024-10-08 10:28:57

枚举类型的相关解析的相关文章

C# 获取与解析枚举类型的 DescriptionAttribute

原文:C# 获取与解析枚举类型的 DescriptionAttribute System.ComponentModel.DescriptionAttribute 这个 Attribute,经常被用来为属性或事件提供说明,这个说明是可以被本地化的.在一些用户界面中,就可以利用这个 Attribute 提供一些额外的信息,就像 Visual Studio 中所做的,如图 1 所示: 图 1 可以看到,对 AutoSizeMode 的说明,被显示在了下面的框中. 但是,界面中的枚举项就没这么好的待遇了

Java的枚举类型

引用并转载于:http://blog.csdn.net/ishallwin/article/details/9440251 1.什么是枚举: 在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如:星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”. 在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场. 枚举是限定有限可能值的一种手段,使用枚举可以降低程序出错的几率,并可以提高代码的可读

浅谈java中的枚举类型(转)

用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. enum Signal { GREEN, YELLOW, RED } pu

iOS/object-c: 枚举类型 enum,NS_ENUM,NS_OPTIONS

一般情况下,我们采用C风格的enum关键字可以定义枚举类型. [cpp] view plaincopy enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlUp, UIViewAnimationTransitionCurlDown, } UIViewAnimat

Java数据类型在实际开发中的应用二枚举类型

在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的.在JDK1.5之前,人们用接口来描述这一种数据类型. 1.5以后引入枚举 一:枚举类基本语法 定义: 创建枚举类型要使用 enum 关键字,如果是想声明简单枚举,属性之间用逗号相隔,如果是属性带id,类似(male(1))这种还需要一个带id的构造方法. 简单枚举类: public enum ColorEnum { red, green, yellow, blue;

枚举类型 递归

枚举类型:         一组常量的组合         在不指定任何索引的情况下,默认第一个字段从0开始,之后的依次+1         在指定了某个索引的情况下,之后的字段索引会依次+1         若之前定义的一个字段的索引指向了之后的某个默认字段,那么,他俩完全相同         若定义枚举类型时,下面有个字段等于之前的一个字段,那么就是等于这个字段                 若等于之前的一个常量字段的时候强制取int,那就是等于的这个字段的索引号       枚举里面有默

二十、枚举类型

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _20.枚举类型 {     enum orientation : byte     {         north = 1,         south = 2,         east = 3,         west = 4     }          class Program     {  

向Java枚举类型中添加新方法

除了不能继承enum之外,可将其看做一个常规类.甚至可以有main方法. 注意:必须先定义enum实例,实例的最后有一个分号. 下面是一个例子:返回对实例自身的描述,而非默认的toString返回枚举实例的名字. public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String nam

iOS - 枚举类型 enum,NS_ENUM,NS_OPTIONS

一般情况下,我们采用C风格的enum关键字可以定义枚举类型. enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlUp, UIViewAnimationTransitionCurlDown, } UIViewAnimationTransition; //位移操作