java对枚举的支持-枚举类
java枚举类针对枚举操作进行了强大的支持。
jdk1.5之前没有对枚举的专门操作类:
—早期java对枚举的使用:
package com.mldn;
class Color // 实现枚举类:该类型的取值范围是确定的!
{
public static final Color RED = new Color(“红色”);
public static final Color GREEN = new Color(“绿色”);
public static final Color BLUE = new Color(“蓝色”);
private String name = null; // 颜色名字
private Color(String name)
{
this.name = name; // 单例设计
}
public static Color getInstance(int x)
{
switch (x)
{
case 1:
{
return RED;
}
case 2:
{
return GREEN;
}
case 3:
{
return BLUE;
}
default:
{
return null;
}
}
}
public String getName()
{
return this.name;
}
}
public class EnumDemo
{
public static void main(String[] args)
{
Color c1 = Color.getInstance(1);
System.out.println(“获得颜色:” + c1.getName());
Color c2 = Color.BLUE;
System.out.println(“获得颜色:” + c2.getName());
}
}
/*
ubuntu@xu-desktop:~$ java com.mldn.EnumDemo
获得颜色:红色
获得颜色:蓝色
// 在java实现枚举类以前对枚举可以这样实现。
*/
—另外一种方法是:使用接口实现枚举功能:
package com.mldn;
interface Color // 实现枚举接口:该类型的取值范围是确定的!
{
public static final int RED = 1;
public static final int GREEN = 2;
public static final int BLUE = 3;
}
public class EnumDemo1
{
public static void main(String[] args)
{
Color c1 = Color.getInstance(1);
System.out.println(“颜色相加:” + (Color.RED + Color.GREEN)); // 1+2=3表示蓝色,但2+3=5就无意义了!
}
} // 这种方式不明确!
————-java对枚举的支持:
—使用enum关键字定义枚举类型:
package com.mldn;
/*
jdk1.5后,引人了枚举类型:关键字:enum: [public] enum enumName{….,枚举常量,…}
枚举类型:可以同时具有多种身份,但同一场合只使用一种身份!
*/
enum Color
{
RED, BLUE, GREEN; // 定义取值范围
}
public class EnumDemo2
{
public static void main(String[] args)
{
Color c = Color.RED; // 设定c为RED
System.out.println(c); // 获取c
}
}
/*
ubuntu@xu-desktop:~$ java com.mldn.EnumDemo2
RED
*/
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《java对枚举的支持-枚举类》
本文地址:http://www.xiupu.net/archives-129.html
关注公众号:
微信赞赏
支付宝赞赏