先说说简单的枚举类型,与字符串,整型之间的转换。
可以理解为,枚举,就是一个简单的数组
public enum Weather { winter, spring, summer, fall }
public class EnumDemo { public static void main(String[] args) { // System.out.println(); //枚举转换整型 int winter = Weather.winter.ordinal(); System.out.println(winter); System.out.println(Weather.spring.ordinal()); System.out.println(Weather.summer.ordinal()); System.out.println(Weather.fall.ordinal()); //枚举转换字符串。 String win = Weather.winter.toString(); String win2 = Weather.winter.name(); System.out.println(win); System.out.println(win2); //字符转换枚举 Weather weather = Weather.valueOf("spring"); System.out.println(weather); //整型转换枚举 int winter0 = 2; Weather weather2 = Weather.values()[winter0]; System.out.println(weather2); } }
带参数枚举
public enum BusinessEnum { User(1, BusinessType.USER_BUSINESS), Order(2, BusinessType.ORDER_BUSINESS); private int type; private BusinessType businessType; private BusinessEnum(int type, BusinessType businessType) { this.type = type; this.businessType = businessType; } public int getType() { return type; } public void setType(int type) { this.type = type; } public BusinessType getBusinessType() { return businessType; } public void setBusinessType(BusinessType businessType) { this.businessType = businessType; } public static BusinessEnum getEnumByType(int type) { for (BusinessEnum bt : values()) { if (bt.type == type) { return bt; } } return null; } }
public enum BusinessType { USER_BUSINESS, ORDER_BUSINESS }
demo:
public class BusinessEnumDemo { public static void main(String[] args) { // System.out.println(); BusinessEnum business1 = BusinessEnum.getEnumByType(1); BusinessEnum business2 = BusinessEnum.getEnumByType(2); System.out.println(business1); System.out.println(business2); BusinessType type1 = business1.getBusinessType(); BusinessType type2 = business2.getBusinessType(); System.out.println(type1); System.out.println(type2); } }
输出:
User Order USER_BUSINESS ORDER_BUSINESS