先說說簡單的枚舉類型,與字符串,整型之間的轉換。
可以理解為,枚舉,就是一個簡單的數組
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