虽然Java中有枚举类型这种数据类型,但是很少用,其实当用到星期、月份、四季等数据集的时候,无疑,枚举类型不仅很方便地解决了整数和字符串的映射问题,而且极大地提高了程序的可读性。
下面就用简单的程序代码来说明这种问题:
1.枚举类型自动赋值,默认情况下枚举变量从前到后分别被赋值为0、1、2、3、4、5....然后用循环的方式将枚举变量的名称和其对应的下标打印出来。
/*
  * @author mnmlist
  * @date 8/18/2015
  * @description of the basic usage of enum
  */
 enum Color1
 {
	 RED,GREEN,BLUE,PINK;
	 private Color1(){};
	 public static void printAllValues()
	 {
		 for(Color1 color:Color1.values())
		 {
			 System.out.println("Name:"+color+",Index:"+color.ordinal());//名称和下标
		 }
	 }
	 public static void printOneValue()
	 {
		 System.out.println("Name:"+RED+",Index:"+RED.ordinal());
	 }
 }
public class EnumDemo
{
	public static void main(String[] args)
	{
//		for(Color color:Color.values())
//			color.printValue();
		System.out.println("Print one value:");
		Color1.printOneValue();
		System.out.println("Print all values:");
		Color1.printAllValues();
	}
}
结果:
Print one value: Name:RED,Index:0 Print all values: Name:RED,Index:0 Name:GREEN,Index:1 Name:BLUE,Index:2 Name:PINK,Index:3
2.利用构造函数对枚举变量进行赋值,这样就可以从随便某个整型的值开始而不是仅从0开始
 enum Color
{
	RED(3),YELLOW(5),BLUE(9);
	private int value;
	private Color(){}
	private  Color(int value)
	{
		this.value=value;
	}
	public void printValue()
	{
		
		System.out.println("Name:"+this.name()+",Value:"+this.value);//名称和对应的值
	}
	
}
public class EnumDemo
{
	public static void main(String[] args)
	{
		for(Color color:Color.values())
			color.printValue();
	}
}
结果:
Name:RED,Value:3 Name:YELLOW,Value:5 Name:BLUE,Value:9
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/mnmlist/article/details/47746359