您的位置:首页 > 编程语言 > Java开发

Java中枚举类型的使用

2015-08-18 09:35 549 查看
虽然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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: