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
下面就用简单的程序代码来说明这种问题:
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
相关文章推荐
- java读取.properties配置文件的几种方法
- 浅析Java内存模型
- Java内存构成
- Eclipse快捷键
- Java--基础类
- ajaxFileUpload+struts2多文件上传(动态添加文件上传框)
- Java修饰符关键词
- 【问题解决】使用Strust2文件上传图片无法显示
- Java实现文件上传
- javaweb 同名用户登录剔除退出功能
- 一个大浪Java罢工(一个)安装JDK和环境变量配置
- java.lang.Thread.State类详解
- JAVA应用当中的数字格式化之科学计数法转数字
- Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA
- Java.lang.String 类常用方法
- 深入理解Java中为什么内部类可以访问外部类的成员
- Java多线程实践之—同步篇
- Java - split . 失败
- java 多态理解
- 写了这么多的代码,发现这些快捷键在Eclipse中用的最多