java中的列舉類enum
阿新 • • 發佈:2020-12-31
1.定義列舉類
使用enum關鍵字定義列舉類
- 定義的列舉類的物件必須寫在開頭,用“,”分隔,最後使用“;”
- 需要提供相應的構造器
定義的enum預設繼承與java.lang.Enum類
2.enum類中常用的三種方法
- 類名.values() :返回列舉類物件的陣列,該方法可以很方便的遍歷所有的列舉值,返回類型別的陣列
- 類名.valueOf(String str) :可以把一個str轉換成對應的列舉類物件,要求str必須是列舉類物件的“名字”。
否則會有執行異常(IIIegalArgumentException),所以通常與try-catch連用,返回值為類型別 - 物件.toString() :返回當前列舉類物件常量的名稱
程式碼:
import java.util.Arrays;
import java.util.MissingFormatArgumentException;
/**
* @Description 列舉類的定義與使用以及列舉類中常用的三個方法values()、
* valueOf(String str)、toString()
* @author HuXuehao Email:[email protected]
* @version
* @date 2020年 下午4:04:41
*/
//列舉的建立
enum Number{
// 列舉的規範是:
// 1.先把的物件寫在前面,只寫物件名和"()"
// 2.括號中對應的是構造構造方法的引數
// 3.物件和物件之間使用 “,” 隔開。
// 4.如果沒有有參建構函式,那麼在1中的"()"中引數就會報錯
ONE("第一天"),
TWO("第二天"),
THREE("第三天"),
FOUR("第四天");
// 類的屬性
private final String day;
// 私有的構造方法
private Number(String s) {
day=s;
}
// get方法
public String getDay() {
return day;
}
}
public class Enumaaaa {
public static void main(String[] args) {
//列舉的使用
System.out.println(Number.ONE.getDay());
System.out.println(Number.TWO.getDay());
System.out.println(Number.THREE.getDay());
System.out.println(Number.FOUR.getDay());
System.out.println("-----------------------------");
// 三個方法
// 第一個方法 obj[] values(): 獲取所有的內建物件名
System.out.println(Arrays.toString(Number.values()));
// 第二個方法 num valueOf(String str):通過對物件名來獲取物件
Number valueOf = Number.valueOf("FOUR");
System.out.println(valueOf.getDay());
// 第三個方法 String toString():列印當前物件的物件名
System.out.println(Number.ONE.toString());
}
}
結果: