`
田智伟
  • 浏览: 204044 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

枚举类型的使用

阅读更多

如何使用枚举类:

 

通常的方式是直接定义一个枚举类,但是如果想一个类定义多个枚举类,可以考虑将枚举类定义为内部类来实现例如:

 

 

 

public class BabyConstants {


	public static final int BABY_SEX_BOY = 1;
	public static final int BABY_SEX_GIRL = 2;
	public static final int BABY_SEX_BOYANDGIRL = 3;
	public enum BabySex{
		BOY(1, "男"),
		GIRL(2, "女");
		BabySex(int value, String meaning) {
			this.value = value;
			this.meaning = meaning;
		}

		private final int value;
		private final String meaning;

		public int getValue() {
			return this.value;
		}

		public String getMeaning() {
			return this.meaning;
		}

		public static BabySex valueOf(int value) {
			for (BabySex e : BabySex.values()) {
				if (e.getValue() == value) {
					return e;
				}
			}
			return null;
		}
	}
	public enum Constellation{
		BAIYANGZUO(1, "白羊座"),
		JINNIUZUO(2, "金牛座"),
		SHUANGZIZUO(3, "双子座"),
		JUXIEZUO(4,"巨蟹座"),
		SHIZIZUO(5,"狮子座"),
		CHUNVZUO(6,"处女座"),
		TIANCHENGZUO(7,"天秤座"),
		TIANXIEZUO(8,"天蝎座"),
		SHESHOUZUO(9,"射手座"),
		MOJIEZUO(10,"魔羯座"),
		SHUIPINGZUO(11,"水瓶座"),
		SHUANGYUZUO(12,"双鱼座");
		Constellation(int value, String meaning) {
			this.value = value;
			this.meaning = meaning;
		}

		private final int value;
		private final String meaning;

		public int getValue() {
			return this.value;
		}

		public String getMeaning() {
			return this.meaning;
		}

		public static Constellation valueOf(int value) {
			for (Constellation e : Constellation.values()) {
				if (e.getValue() == value) {
					return e;
				}
			}
			return null;
		}
	}
	public enum Animal {
		SHU(1, "鼠"),
		NIU(2, "牛"),
		HU(3, "虎"),
		TU(4,"兔"),
		LONG(5,"龙"),
		SHE(6,"蛇"),
		MA(7,"马"),
		YANG(8,"羊"),
		HOU(9,"猴"),
		JI(10,"鸡"),
		GOU(11,"狗"),
		ZHU(12,"猪");
		Animal(int value, String meaning) {
			this.value = value;
			this.meaning = meaning;
		}

		private final int value;
		private final String meaning;

		public int getValue() {
			return this.value;
		}

		public String getMeaning() {
			return this.meaning;
		}

		public static Animal valueOf(int value) {
			for (Animal e : Animal.values()) {
				if (e.getValue() == value) {
					return e;
				}
			}
			return null;
		}
	}
	
}

 本段代码中既有不可变常量定义的性别,也有通过枚举定义的性别,就平时使用来说还是推荐使用枚举类型

分享到:
评论

相关推荐

    枚举类型的复杂用法:非常有用的枚举类型使用例子,简化了数据采集通道的定义。

    非常有用的枚举类型使用例子,简化了数据采集通道的定义。

    Delphi 枚举类型操作 Demo

    演示如何操作Delphi 的枚举类型。 1. 包含源代码; 2. 包含执行程序 3. 演示如下函数如何使用:GetEnumName、GetEnumProp、GetEnumValue、SetEnumProp 4. 非常简单,一看就会。

    Java的枚举类型使用方法详解

    主要介绍了Java的枚举类型使用方法详解,从背景、到定义、特点、使用方式做个简单了解,感兴趣的小伙伴们可以参考一下

    ActionScript3.0 枚举类型的使用

    ActionScript3.0 枚举类型的使用 ActionScript3.0 中创建枚举类型

    thinkPHP调用枚举类型

    thinkPHP调用枚举类型,里面根据参数不同返回值不同,初步只封装了input(radio、check)、td、select等。

    QML 中使用 C++定义的枚举类型

    如果要在 QML使用 C++中定义的类型,有些数据类型是是可以直接使用的,如常见的 int,但是还有一些相对特殊的类型就需要做些特定的操作才可以使用了。 博客地址:...

    C# 枚举类型的实例说明

    C# 枚举类型的实例说明,描述了枚举类型的主要使用方法

    枚举类型定义与变量声明定义的不同方法

    枚举类型定义与变量声明定义的不同方法,使用vc++ 6.0编写

    如何使用Java枚举类型

    一个关于JAVA枚举类型的MHT文件,包含JAVA枚举类型的用法,以及JDK版本的问题。

    枚举类型的说明 enum

    详细说明了枚举类型,枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。

    C语言程序设计-枚举类型.pptx

    5-2 枚举类型变量的赋值和使用 枚举类型在使用中有以下规定。 ① 枚举值是常量,不是变量,不能在程序中用赋值语句再对它赋值。例如,对枚举weekday的元素再作以下赋值:sun=5;mon=2;sun=mon;都是错误的。 ② ...

    java枚举类型说明

    java枚举类型的说说明,详细阐述了枚举类型的使用和注意事项

    Java 枚举类型使用小技巧

    近用到枚举,由于枚举变量比较多且存在一定的分组分类的关系,所以想能比较清晰的维护这些变量。今晚有空,简单研究了一下,分享出来,供大家讨论。  可供考虑的分类方式  /**  * 枚举接口  *   * @...

    枚举类型与构造函数.doc

    本文档为自己手动书写样例,涉及到java项目中经常用到的枚举类型,使用枚举类型有利于快速引起区分对应字典键值对

    java枚举类型enum的使用

    java枚举类型的定义使用介绍,还有示例。

    mybatis入门实战之枚举类型

    本项目为mybatis实战二之枚举类型,里面有简单的demo,适合初学者下载运行,能对mybatis的typehandler有一个初始的认识和运用

    C++枚举类型enum与enum class的使用

    答:如果一个变量只有几种可能的值,那么就可以定义为枚举类型,比如:性别只有男和女,那么就可以将性别定义为一种枚举类型,其中男和女就是性别所包含的变量。所谓”枚举”是指将变量的值一一列举出来,变量的值...

    USB枚举类型

    之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯。由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的枚举,以及具体的通讯方式都没有清晰的概念,所以现在回头重新...

Global site tag (gtag.js) - Google Analytics