public class Main {
public static void main(String[] args) {
int day = 5;
String color = "a";
if (day == Weekend.FRI) {
System.out.println(day);
}
if (color.equals(Color.BLUE)) {
System.out.println(color);
}
}
}
class Weekend{
public static final int SUN = 0;
public static final int MON = 1;
public static final int TUE = 2;
public static final int WED = 3;
public static final int THU = 4;
public static final int FRI = 5;
public static final int SAT = 6;
}
class Color{
public static final String RED = "r";
public static final String GREEN = "g";
public static final String BLUE = "b";
}
直接定义常量的缺点:编译器无法检查常量的内容,常量若发生改变,如将r变为R,很多逻辑会报错,因此java提供了枚举类型
public enum Color{
RED,GREEN,BLUE;
}
编译器编译出的class:
public final class Color extends Enum{
public static final Color RED = new Color();
public static final Color GREEN = new Color();
public static final Color BLUE = new Color();
private Color(){
}
用enum定义常量
enum定义的类型实际上是class
public enum Weekday {
SUN,MON,TUE,WED,THU,FRI,SAT;
}
public class Main {
public static void main(String[] args) {
for (Weekday day : Weekday.values()) {
// Weekday.values()获取所有常量的数组
System.out.println(day.name());//打印常量的name
}
Weekday fir = Weekday.FRI;//获取某个常量的引用类型
//获取name
System.out.println("FRI.name() = " + fir.name());//enum->String
//获取编号
System.out.println("FRI.ordinal() = " + fir.ordinal());
//Weekday.valueOf(String)获取某个指定的常量
System.out.println(Weekday.valueOf("FRI").name());//String->enum
System.out.println(Weekday.valueOf("ABC"));
}
}
还可以为枚举类添加字段和方法
public enum Weekday {
SUN("星期日"),
MON("星期一"),
TUE("星期二"),
WEN("星期三"),
THR("星期四"),
FRI("星期五"),
SAT("星期六");
private String chinese;
private Weekday(String chinese) {
this.chinese = chinese;
}
public String getChinese() {
return chinese;
}
}
public class Main1 {
public static void main (String[] args) {
Weekday fir = Weekday.FRI;
System.out.println(fir.toChinese());
}
}
本文地址:https://blog.csdn.net/qq_24573381/article/details/107697365
如对本文有疑问, 点击进行留言回复!!
关于在IDEA中SpringBoot项目中activiti工作流的使用详解
视频编辑工具ACDSee Luxea Video Editor安装及激活图文教程
java spring整合junit操作(有详细的分析过程)
网友评论