Java Enum(Java枚舉)

參考:

1.Java enum用法詳解 (這篇寫得很詳細,可以直接看這篇)

2.Java enum 常見的方法(與1.類似)

3.https://docs.oracle.com/javase/8/docs/api/index.html Java API文檔

4.Java 枚舉(enum) 詳解7種常見的用法(較詳細,推薦)

代碼示例:

(1)

public class TestEnum {
	public static void main(String[] args) {
		Color c1 = Color.RED; 
		System.out.println(c1.toString());

		Color c2 = Color.GREEN;
		Color c3 = Color.GREEN;
		System.out.println("c2=c3?"+(c2==c3));//true

		System.out.println(c1); //RED
		
		Color arr[] = Color.values();
		for (Color col : arr){
			System.out.println(col + " at index "+ col.ordinal());//RED at index 0	GREEN at index 1 BLUE at index 2
 		} 				
		System.out.println(Color.valueOf("RED"));//輸出toString()的返回值,默認是RED
		
		//此行代碼會返回IllegalArgumentException 異常,因爲Color枚舉類裏沒有名爲WHITE的常量
		//System.out.println(Color.valueOf("WHITE")); 
		
	}
}

enum Color{
	RED, GREEN("light"),BLUE(255,23,233);
	private String level;
	private int r,g,b;
	
	//編寫帶參和不帶參的構造器
        Color(){}
	
	Color(String level) {
		this.level = level;
	}
	
	Color(int r, int g, int b) {
		this.r = r;
		this.g = g;
		this.b = b;
	}
	
//	@Override
//	public String toString(){
//		return "level:"+this.level+" ("+this.r+","+this.g+","+this.b+")";
//		
//	}
}

運行結果:

運行結果

(2)試運行參考2中的weekday

import java.util.EnumSet;

public class TestEnum2 {
	public static void main(String[] args) {
		EnumSet<WeekDay> week = EnumSet.noneOf(WeekDay.class);
		week.add(WeekDay.MON);
		System.out.println("EnumSet中的元素:" + week);
		week.remove(WeekDay.MON);
		System.out.println("EnumSet中的元素:" + week);
		week.addAll(EnumSet.complementOf(week));
		System.out.println("EnumSet中的元素:" + week);
		week.removeAll(EnumSet.range(WeekDay.FRI, WeekDay.SAT));
		System.out.println("EnumSet中的元素:" + week);
		
	}
}

enum WeekDay{
	MON("Monday"),TUE("Tuesday"),WED("Wednesday"),THU("Thursday"),FRI("Friday"),SAT("Saturday"),SUN("Sunday");
	private final String day;
	private WeekDay(String day) {
		this.day = day;
	}
	
	public String getDay() {
		return this.day;
	}
}

運行結果:

運行結果,可自行運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章