1. 程式人生 > >黑馬程式設計師_列舉小結

黑馬程式設計師_列舉小結

----------android培訓java培訓、期待與您的交流----------

簡單列舉:

enum Grade {
	A("100-90"), B("89-80"), C("79-70"), D("69-60"), E("59-0");// Object
	private String value;// 封裝每個物件的分數

	private Grade(String values) {
		this.value = values;
	}

	public String getValue() {
		return value;
	}
}

帶抽象方法的列舉:
enum Week {
	Monday("星期一") {
		@Override
		public String getUsValue() {
			return "Monday";
		}
	},
	Tuesday("星期二") {
		@Override
		public String getUsValue() {
			return "Tuesday";
		}
	},
	Wednesday("星期三") {
		@Override
		public String getUsValue() {
			return "Wednesday";
		}
	},
	Thursday("星期四") {
		@Override
		public String getUsValue() {
			return "Thursday";
		}
	},
	Friday("星期五") {
		@Override
		public String getUsValue() {
			return "Friday";
		}
	},
	Saturday("星期六") {
		@Override
		public String getUsValue() {
			return "Saturday";
		}
	},
	Sunday("星期日") {
		@Override
		public String getUsValue() {
			return "Sunday";
		}
	};
	private String value;

	private Week(String value) {
		this.value = value;
	}

	public String getValue() {
		return value;
	}

	public abstract String getUsValue();
}

測試列舉常用方法:
// 測試列舉的常用方法
	@Test
	public void test2() {
		// 得到列舉名
		System.out.println(Grade2.A.name());
		// 得到列舉位置
		System.out.println(Grade2.C.ordinal());
		// String轉列舉(Sttring 必須是列舉中的值)
		String str = "B";
		// Grade2 g = Grade2.valueOf(Grade2.class, str);
		Grade2 g = Grade2.valueOf(str);
		System.out.println(g);
		System.out.println("--------------");
		//返回所有列舉值
		Grade2[] arr=Grade2.values();
		for(Grade2 g1:arr)
			System.out.println(g1);
	}