java中枚举的使用

原创 2016年05月31日 11:12:17

在JDK1.5引入了新的类型——枚举,存放在 java.lang 包中。
下面是我在使用 enum 过程中的一些代码

package com.test;

// 枚举用于存放同一类型的参数
public enum TestWeekEnum {
	Monday(1, "星期一"), Tuesday(2, "星期二"), Wednesday(3, "星期三"), Thursday(4, "星期四"), Friday(5, "星期五"), Saturday(
			6, "星期六"), Sunday(7, "星期天");

	int code;// 参数值
	String destription;// 参数说明

	TestWeekEnum(int code, String destription) {
		this.code = code;
		this.destription = destription;
	}

	// 判断传入code在枚举中是否存在
	public boolean eqlues(TestWeekEnum type, int code) {
		return code == type.code;
	}

	// 根据传入code返回相应的枚举类型
	public static TestWeekEnum getDiscountType(int code) {
		for (TestWeekEnum valuesEnum : TestWeekEnum.values()){
			if (code == valuesEnum.getCode()){
				return valuesEnum;
			}
		}
		return null;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getDestription() {
		return destription;
	}

	public void setDestription(String destription) {
		this.destription = destription;
	}

	public static void main(String[] args) {
		System.out.println(TestWeekEnum.Monday.code);
		System.out.println(TestWeekEnum.Monday.destription);
		System.out.println(TestWeekEnum.getDiscountType(3).destription);

		// 枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值
		TestWeekEnum testWeekEnum = TestWeekEnum.Sunday;
		switch (testWeekEnum) {
		case Monday:
			System.out.println("week is Monday");
			break;
		case Tuesday:
			System.out.println("week is Tuesday");
			break;
		case Thursday:
			System.out.println("week is Thursday");
			break;
		case Wednesday:
			System.out.println("week is Wednesday");
			break;
		case Friday:
			System.out.println("week is Friday");
			break;
		case Saturday:
			System.out.println("week is Saturday");
			break;
		case Sunday:
			System.out.println("week is Sunday");
			break;
		default:
			System.out.println("null");
			break;
		}

		// 遍历枚举
		System.out.println("遍历TestWeekEnum枚举中的值");
		for (TestWeekEnum week : TestWeekEnum.values()){
			System.out.println(week);
		}

		// 获取枚举的个数
		System.out.println("TestWeekEnum枚举中的值有" + TestWeekEnum.values().length + "个");

		// 获取枚举的索引位置,默认从0开始
		System.out.println(TestWeekEnum.Monday.ordinal());// 0
		System.out.println(TestWeekEnum.Tuesday.ordinal());// 1

		// 枚举默认实现了java.lang.Comparable接口
		System.out.println(TestWeekEnum.Monday.compareTo(TestWeekEnum.Sunday));// -1

	}
}


 enum 的语法结构尽管和 class 的语法不一样,但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum。实际上 enum 就是一个 class,只不过 java 编译器帮我们做了语法的解析和编译而已。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java 枚举使用

  • 2014-08-28 16:13
  • 163KB
  • 下载

JAVA:使用枚举

  • 2012-01-29 15:27
  • 27KB
  • 下载

java枚举使用详解

原文链接:http://www.cnblogs.com/linjiqin/archive/2011/02/11/1951632.html 在实际编程中,往往存在着这样的“数据集”,它...

java中枚举(Enum)使用

枚举的应用: Enum一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且在比较的时候可以用”==”来替换equals。enum简单的...

Java枚举enum使用及相关的操作

在Java1.5之后,引入了枚举新的特性,在之前,java有两种定义新类型的方式:类和接口。但是在特殊情况下,满足不了我们的需求,比如我们定义一个Color类,它只能有Red,Blue,Green三种...

java 枚举 循环遍历以及一些简单常见的使用

什么时候想用枚举类型: 有时候,在设计一个java model对象的时候,你需要一些具体的常量字符串之类的东西,这个东西又没必要跟整个项目的全局常量放在一起,就放在model的java文件里面是最合适...

java枚举使用详解

java枚举使用详解 在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个...

java enum(枚举)使用详解 + 总结

enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中。     下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容...

java枚举使用介绍

java枚举使用详解 在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元...

Java枚举的使用

public class Client { public static void main(String[] args) { switch (Season.Time.Afternoon) { ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)