什么是列舉?
列舉enum是一種特殊的類(但列舉是類),使用列舉可以很方便的定義常量
比如設計一個列舉型別 四季,里面需要定義四個常量,常量寫成大寫
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER;
}
這樣就可以用switch陳述句進行判斷,如當前季節為Season時,即為春季,以此類推;
假在需要用到給某類的季節屬性賦值時,不使用列舉,不管是定義int屬性,用1-4表示四季,還是直接寫中文“春季”、“夏季”、“秋季”、“冬季”表示四季,都有可能出現5或“春天”這樣范圍外的數值,
但是使用列舉,就能把范圍規定到“SPRING,SUMMER,AUTUMN,WINTER”當中,這樣就可以避免范圍外的數值,
例:
// 定義一個列舉型別 季節
enum Season {
SPRING,SUMMER,AUTUMN,WINTER
}
// 定義一個月份
class Month{
private Season season;
public Season getSeason() {
return season;
}
public void setSeason(Season season) {
this.season = season;
}
public Month() {}
public Month(Season season) {
this.season = season;
}
@Override
public String toString() {
return "Month{ season = " + season + '}';
}
}
// 測驗類
public class Test {
public static void main(String[] args) {
// 定義一個月份類物件
Month month = new Month();
// 給他的季節屬性賦值
month.setSeason(Season.AUTUMN);
System.out.println(month); // 會列印Month{ season = AUTUMN}
}
}
列舉類中的**values()**方法可回傳所有列舉常量的陣列集合;
Season[] values = Season.values();
for (Season s:values) {
System.out.println(s);
}
列舉的主要作用:
在方法的引數串列中定義引數型別為列舉類,那么在傳參時,引數值只能從列舉類的列舉項中選擇,不會出現亂寫現象,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241999.html
標籤:java
上一篇:初學Java
