枚举的使用

枚举的用法:

枚举用关键字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 enumType,String name)
返回带指定名称的指定枚举类型的枚举常量。

Demo

/**
 * 枚举常量,默认调用枚举的构造方法  newEnum<EnumTest>(MONDAY,0)
 */
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 (EnumTeste : 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值