是什么
1、java枚举类是一组预定义常量的集合,使用enum关键字声明这个类,常量名称官方建议大写;
2、所有枚举值都是public , static , final的;
3、枚举类默认继承了java.lang.Enum,并且enum类会被final修饰;
4、枚举类默认实现了java.lang.Comparable接口;
5、枚举类覆载了toString方法,当我们调用时直接会返回对应的枚举值;
6、它的构造方法默认为private ,因此不能添加其他的类型修饰符;
7、可直接用==判断两枚举值
8、values()方法返回所有的枚举值
和final static修饰的常量的区别
1、enum可以自定义属性,它可以拓展许多的属性值
2、它还可以拥有各自内部的方法
使用
基本使用
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY
}
直接通过 Day.SUNDAY .....进行调用
自定义属性使用
public enum AccruedCleanEnum {
SPREAD("1","发票"),OTHER("0","收入"),NON_BUSINESS("2","支出");
private String index;
private String name;
//给自定义属性赋值 有自定义属性后必需有带参构造为其赋值
AccruedCleanEnum(String index, String name) {
this.index = index;
this.name = name;
}
/**
* 根据属性值index获取enume类型
* values()是enum自带的一个方法,该方法返回所有的枚举类型
*/
public static AccruedCleanEnum getType(String index){
for(AccruedCleanEnum accruedCleanEnum : AccruedCleanEnum.values()){
if