您的位置:首页 > 编程语言 > Java开发

java中的枚举

2019-07-26 10:58 29 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_40942323/article/details/97373945

首先写一个不含值的枚举

public enum Week1 {
Mon,Tue,Web,Feb,Fri,Sat,Sun;

}

然后使用for来遍历

for (Week1 workday:Week1.values())
System.out.println(workday);

结果

for来遍历name

for (Week1 workday:Week1.values())
System.out.println(workday.name());


for来遍历它的ordinal() 方法
返回的枚举常量的序号,值得注意的是 Enum 对象的序号是从0开始计数的

for (Week1 workday:Week1.values())
System.out.println(workday.ordinal());

其实,除了使用 Enum 本身的方法,我们还可以自定义 Enum 对象的属性,重写 WorkDay 的构造方法,构造方法必须私有化.

public enum Week {
Mon(1,"星期一"),Tue(2,"星期二"),Web(3,"星期三"),Feb(4,"星期四"),Fri(5,"星期五"),Sat(6,"星期六"),Sun(7,"星期天");

private String name;
private Integer code;
private Week() {
}

private Week(Integer code,String name){
this.name=name;
this.code=code;
}

public String getName() {
return name;
}

public int getCode(){
return code;
}

//重写toString后for循环Week.values()按照重写的输出
@Override
public String toString() {
return "Week{" +
"name='" + name + '\'' +
", code=" + code +
'}';
}
}
for (Week week1 : Week.values()) {
System.out.println(week1);
}

for循环自带的name()

for (Week week1 : Week.values()) {
System.out.println(week1.name());
}

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