在平時的**中,if/else肯定是必不可少,但是有時使用if/else卻不是**的最好選擇,下面介紹下平時會在實際工作**中使用到的用enum來代替if/else的寫法.
現在有個需求,我們公司有vip等級,1,2,3,根據等級高低,能獲取不同的優惠資訊,最簡單也最容易想到的**是:
//獲取折扣資訊
public static void main(string args)
//獲取折扣資訊
public static double getdiscount(int viplevel) else if (viplevel == 2) else if (viplevel == 3) else
}
然而問題是如果將來要多乙個vip4,那你毫無疑問,你肯定是要動這裡面的業務邏輯**,這是有風險的,而且我們知道乙個好的**應該是擁有良好的擴充套件性的,如果用列舉就可以解決這一問題.
public inte***ce vipoperation
public enum vipenum implements vipoperation
},vip_level_2 (2)
},vip_level_3 (3)
};int viplevel = 0;
vipenum(int viplevel)
//根據vip等級獲取vip列舉
public static vipenum getinstance(int viplevel)
}return null;
}}
int viplevel = 2;//獲取會員等級
vipenum vip = vipenum.getinstance(viplevel);
vip.getdiscount();
使用ENUM來代替字串型別
這個表包含了110,000條記錄,只有10mb大小,所以可以全部放到記憶體中。service列有5個不同的值,平均字元長度為4個字元,method列有71個值,平均長度為20個字元。我們複製了該錶,把service和method列轉換為enum,如下 create table webservicec...
建議110 用類來代替enum
建議110 用類來代替enum 列舉 enum 用來表示一組固定的值。例如,為了表示星期資訊,我們可以定義列舉week enum week 列舉最大的優點在於它的型別是值型別。相比較引用型別來說,它可以在關鍵演算法中提公升效能,因為它不需要建立在 堆 中。但是,如果不考慮這方面的因素,我們不妨讓類 ...
ENUM 列舉使用總結
enum format string format public string getformat public void setformat string format enum colorspublic static void main string args 上面是列舉的兩種使用方式,我們以f...