枚舉類型

1. 認識枚舉

這是一個枚舉類型:java

package enu;

public enum Enum1 {
	NOT, MILD, MEDIUM, HOT, FLAMING
}

枚舉類型的實例是常量,所以按照命名慣例來它們都是用大寫字母表示的。(若是在一個名字中有多個單詞,用下劃線將它們隔開)數組

看一下enum的使用this

package enu;

public class SimpleEnumUse {
	public static void main(String[] args) {
		Enum1 e1 = Enum1.MEDIUM;
		System.out.println(e1);
	}
}

將Enum的值賦給某個實例。
當你建立enum時,它會建立toString()方法。編譯器還會建立ordinal() 方法用來表示某個特定的enum常量的聲明順序,以及static values()方法
用來按照enum的聲明順序,產生由這些常量構成的數組。
 enum其實是一種類,而且擁有本身的方法spa

用ordinal() 返回enum中的常量:code

package enu;

public class Enum2 {
	public static void main(String[] args) {
		for (Enum1 e : Enum1.values()) {
			System.out.println(e + ".ordinal " + e.ordinal());
		}
	}
}

 

2. 在switch 中用enum

package enu;


public class Enum3 {
	Enum1 degree;

	public Enum3(Enum1 degree) {
		this.degree = degree;
	}

	public void describe() {
		System.out.println("this Enum1 is");
		switch (degree) {
		case NOT:
			System.out.println("not spicy at all");
			break;
		case MILD:
		case MEDIUM:
			System.out.println("a little hot");
			break;
		case HOT:
		case FLAMING:
			System.out.println("maybe too hot");
			break;
		default:
			break;
		}
	}

	public static void main(String[] args) {
		Enum3 plain = new Enum3(Enum1.NOT);
		Enum3 greenChile = new Enum3(Enum1.MEDIUM);
		Enum3 jalapeno = new Enum3(Enum1.HOT);

		plain.describe();
		greenChile.describe();
		jalapeno.describe();
	}
}

輸出:編譯器

this Enum1 is
not spicy at all
this Enum1 is
a little hot
this Enum1 is
maybe too hotit

相關文章
相關標籤/搜索