Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。
枚举中有2个重要的方法:
- name() : 返回枚举的名字,比如下例中的SMA LL
- ordinal() : 返回枚举的下标,默认是从0开始的。
例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。
实例:
class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDUIM, LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String args[]){
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice. FreshJuiceSize.MEDUIM ;
}
}
注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。
/**
* <ul>
* 账号类型
* </ul>
*
* @author : kame
* @date: 2018/11/7 5:45 PM
*/
public enum AccountTypeEnum {
UN(0, "未知"),
AC(1, "帐号"),
EMAIL(2, "邮箱"),
PHONE(3, "手机号");
private Integer key;
private String description;
AccountTypeEnum(Integer key, String description) {
this.description = description;
this.key = key;
}
public String getDescription() {
return description;
}
public Integer getKey() {
return key;
}
/**
* 根据输入的key,返回对应的枚举
* @param key 输入的key
* @return
*/
public static AccountTypeEnum getByKey(Integer key){
for(AccountTypeEnum typeEnum : values()){
if(key.equals(typeEnum.getKey())){
return typeEnum;
}
}
return UN;
}
}
还可以通过 this.values() 来获得所有的枚举(这个相当于是static的方法)。
public static void main(String[] args) {
System.out.println("name() -> " + UN.name());
System.out.println("ordinal() -> " + UN.ordinal());
}
输出结果:
name() -> UN
ordinal() -> 0
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
本文链接:https://www.jhelp.net/p/w4i2z3mZZ6zMOzWg (转载请保留)。
关注下面的标签,发现更多相似文章
本站推荐
-
1250
-
1039
-
597
-
512
-
491
文章目录