您的位置:首页 > 其它

枚举的使用

2017-06-09 15:32 99 查看
枚举的用法:

枚举用关键字enum来定义,一般用于定义常量。

构造方法:

Enum(String name,
int ordinal) 默认访问,程序编写者无法访问,它给每一个枚举常量都定义了一个顺序,默认从0开始。

常用方法摘要:

1.compareTo(E o) 

   比较此枚举与指定对象的顺序。

2. equals(Object other) 

   当指定对象等于此枚举常量时,返回 true。

3.getDeclaringClass() 

    返回与此枚举常量的枚举类型相对应的 Class 对象。

4.name() 

    返回此枚举常量的名称,在其枚举声明中对其进行声明。

5.toString() 

    返回枚举常量的名称,它包含在声明中。

6.ordinal() 

   返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为0)。

7.valueOf(Class<T> enumType,String name) 

   返回带指定名称的指定枚举类型的枚举常量。

Demo:

创建一个枚举:

/**

 * 枚举常量,默认调用枚举的构造方法  newEnum<EnumTest>(MONDAY,0)

 */

4000
public enum EnumTest {

MONDAY,

TUESDAY,

WEDNESDAY,

THURSDAY,

FRIDAY,

SATURDAY,

SUNDAY;

public static EnumTest getDay(Stringday){

return EnumTest.valueOf(day.toUpperCase());

}

}

测试:

public class Test1 {

public static void main(String[]args)
{

//name和toString结果是一样的

for (EnumTest
e : EnumTest.values()) {

//System.out.println(e.name());

System.out.println(e.toString());

}

System.out.println("=============================");

EnumTest
t = EnumTest.FRIDAY;

switch(t){

case MONDAY:

System.out.println("星期一");

break;

case TUESDAY:

System.out.println("星期二");

break;

case FRIDAY:

System.out.println("星期五");

break;

default:

System.out.println(t);

break;

}

System.out.println("============================");

//compareTo()比较此枚举与指定对象的顺序

switch(t.compareTo(EnumTest.SATURDAY)){

case -1:

System.out.println("---------FRIDAY在SATURDAY之前");

break;

case 1:

System.out.println("FRIDAY在SATURDAY之后-----------");

break;

default:

System.out.println("相同==========");

break;



System.out.println("============================");

//getDeclaringClass()返回与此枚举常量的枚举类型相对应的Class对象

System.out.println("getDeclaringClass()"+t.getDeclaringClass());

//ordinal()返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)

System.out.println("ordinal()"+t.ordinal());

EnumTest
day = EnumTest.getDay("sunday");

System.out.println(day);

}

}

运行结果:

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

SUNDAY

=============================

星期五

============================

---------FRIDAY在SATURDAY之前

============================

getDeclaringClass()class com.yuanyuan.EnumTest

ordinal()4

SUNDAY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: