虽然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
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-21 00:54:57