private enum messageType
{
first,
second,
third,
end
}
枚舉類可以在switch語句中使用.
switch(messageType){
case first: System.out.println(1);break;
case second: System.out.println(2);break;
case third: System.out.println(3);break;
case end: System.out.println(4);break;
}
messageType首字母最好大寫。
MessageType m=MessageType.first.輸出1.
MessageType m=MessageType.end.輸出4.
(1) ordinal()方法: 返回枚舉值在枚舉類種的順序。這個順序根據枚舉值聲明的順序而定。
MessageType.first.ordinal(); //返回結果:0
(2) compareTo()方法: Enum實現了java.lang.Comparable接口,因此可以比較象與指定對象的順序。Enum中的compareTo返回的是兩個枚舉值的順序之差。當然,前提是兩個枚舉值必須屬於同壹個枚舉類,否則會拋出ClassCastException()異常。(具體可見源代碼)
MessageType.first.compareTo(MessageType.second); //返回結果 -1
(3) values()方法: 靜態方法,返回壹個包含全部枚舉值的數組。
MessageType[] messages=MessageType.values();
for(MessageType m:messages){
System.out.print(m+",");
}//返回結果:first,second,third,end,
(4) toString()方法: 返回枚舉常量的名稱。
MessageType m=MessageType.first;
System.out.println(m);//返回結果: first
(5) valueOf()方法: 這個方法和toString方法是相對應的,返回帶指定名稱的指定枚舉類型的枚舉常量。
(6) equals()方法: 比較兩個枚舉類對象的引用。