什么時候想用枚舉類型:
在設(shè)計一個java model對象的時候,你需要一些具體的常量字符串之類的東西,這個東西又沒必要跟整個項目的全局常量放在一起,就放在model的java文件里面是最合適的,那么,你可以有兩種選擇:
1,在java model文件里面,定義public final static XXXX = "" ;
這種就是全局靜態(tài)變量,通過類名就可以直接訪問。
2,還是在java model 文件里面,定義個枚舉類型 public enum XXXX{a,b,c,d,e,f};
什么時候,如何使用:
當(dāng)在和前臺傳過來的數(shù)據(jù)或者在邏輯操作的代碼里面需要去用到這個常量值去做比較的時候,就是使用枚舉類型的時候。
一般形式是: 類名.枚舉類型名.單個枚舉類型
用上面的例子(假設(shè)在一個叫A的model java文件里面),
則為A.XXXX.a.toString();
就可以這么使用了。
怎么循環(huán)一個枚舉類型。
枚舉有一個方法,values(),
使用形式如: int length = XXXX.values().length
返回的是一個類型與枚舉類型一致的數(shù)組。
然后就可以循環(huán)這個數(shù)組。
就是循環(huán)枚舉類型了。
public class Meiju{
public enum Weekends{MON, TUE, WED, THU, FRI, SAT, SUN;}
public static void main(String[] args){
//循環(huán)方法一
for(Weekends e:Weekends.values()){
System.out.println(e);
}
//循環(huán)方法二
for(int i=0;i<Weekends.values().length;i++){
System.out.println(Weekends.values()[i]);
}
}
}在枚舉類型中添加構(gòu)造方法
public class EnumTest
{
enum Weekends
{
MON(1, "星期一"), TUE(2, "星期二"), WED(3, "星期三");
private final int value;
private final String description;
private Weekends(int value, String description)
{
this.value = value;
this.description = description;
}
public int getValue()
{
return this.value;
}
public String getDescription()
{
return this.description;
}
public static Weekends valueOf(int value)
{
switch (value)
{
case 1:
return Weekends.MON;
case 2:
return Weekends.TUE;
case 3:
return Weekends.WED;
default:
return null;
}
}
}
public static void main(String[] args)
{
for (Weekends w : Weekends.values())
{
System.out.println("枚舉成員:" + w + " 值:" + w.getValue() + " 描述:" + w.getDescription());
}
System.out.println("值轉(zhuǎn)換成枚舉:" + Weekends.valueOf(2));
System.out.println("字符串轉(zhuǎn)換成枚舉:" + Weekends.valueOf("TUE"));
}
}結(jié)果如下:
枚舉成員:MON 值:1 描述:星期一
枚舉成員:TUE 值:2 描述:星期二
枚舉成員:WED 值:3 描述:星期三
值轉(zhuǎn)換成枚舉:TUE
字符串轉(zhuǎn)換成枚舉:TUE
