java 中枚舉類型,整型,字符串之間轉換


先說說簡單的枚舉類型,與字符串,整型之間的轉換。

可以理解為,枚舉,就是一個簡單的數組

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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM