javaSE_枚举

定义枚举:

public enum WeekEnum {

Monday,    //星期一

Tuesday,   //星期二

wednesday, //星期三

Thursday,  //星期四

Friday,    //星期五

Saturday,  //星期六

sunday;    //星期日

}

枚举是一个类,它可以有自己的成员变量和方法,但是它是一个特殊的类,它不能通过new来创建对象。

它只能通过枚举类的valueof方法创建。

// 访问某一枚举(Monday

System.out.println(WeekEnum.Monday);

 

// 在枚举中的索引(3

System.out.println(WeekEnum.Thursday.ordinal());

 

// 遍历枚举

for (WeekEnum weekEnum : WeekEnum.values()){

System.out.println(weekEnum.name());

}

 

// 枚举类对象不能通过new创建,而是通过valueof创建

WeekEnum weekEnum = WeekEnum.valueOf("Thursday");

 

如果希望能打印出相应的中文说明,怎么办呢,有两种方法。

方法一,直接在类中添加如下方法:

public String getDescription(){

String sDes = "";

switch (this){

case Monday:

sDes ="星期一";

break;

case Tuesday:

sDes ="星期二";

break;

case wednesday:

sDes ="星期三";

break;

case Thursday:

sDes ="星期四";

break;

case Friday:

sDes ="星期五";

break;

case Saturday:

sDes ="星期六";

break;

case sunday:

sDes ="星期日";

break;

default :

}

return sDes;

}

调用如下:

WeekEnum weekEnum = WeekEnum.valueOf("Thursday");

System.out.println(weekEnum.getDescription());

输出:星期四

 

方法二:使用私有构造函数

public enum WeekEnum2 {

Monday("星期一"),    //星期一

Tuesday("星期二"),   //星期二

wednesday("星期三"), //星期三

Thursday("星期四"),  //星期四

Friday("星期五"),    //星期五

Saturday("星期六"),  //星期六

sunday("星期日");    //星期日

private WeekEnum2(String description){

this._sDescription = description;

}

private String _sDescription;

public String getDescription(){

return _sDescription;

}

}

枚举类的构造函数必须是私有的,同时上面的七个值必须和构造函数一样传参,相当于实例化。使用效果如下:

WeekEnum2 weekEnum2 = WeekEnum2.valueOf("Thursday");

System.out.println(weekEnum2.getDescription());

输出:星期四

注:如果需要添加更多的信息,则可以添加多个成员变量,构造函数中传多个值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值