枚举类

枚举类

我们可以使用这种方式来实现枚举类:

1
2
3
4
5
public class Weekday{
public static final int MON=1;
public static final int Tu=2;
...
}

虽然可以实现,但是在使用的时候会出现问题,编译器不能检测出不在类中的值。

1
2
3
4
int day=0;
if(day==Weekday.MON){
...
}

所以我们用enum来实现枚举类:(编译器会将他们编译成final class Weekday extends Enum{…})

1
2
3
enum Weekday{
MON,Tue,Wed,Thur,Fri,Sat,Sun;
}

与enum类似的还有record类 14后才有。

用enum实现单例模式