values():返回枚舉類型的對(duì)象數(shù)組酌摇,便于遍歷所有枚舉類
valueOf(String str):講一個(gè)字符串轉(zhuǎn)為對(duì)應(yīng)的枚舉類對(duì)象伞广。要求字符串必須是枚舉類對(duì)象的“名字”耘成。
toString():返回當(dāng)前枚舉類對(duì)象常量的名稱雹拄。
代碼示例:
public class seasonTest1 {
????public static void main(String[] args) {
????????Season1 summer = Season1.SUMMER;
????????System.out.println(summer);//Season{seasonName='Summer', seasonDesc='hot'}
? ? ? ? System.out.println(summer.getClass());//class com.study.lele.Season1
? ? ? ? System.out.println(summer.getSeasonDesc());//hot
//values()
? ? ? ? Season1[] values = Season1.values();
????????for(int i =0; i < values.length; i++){
????????????System.out.println(values[i]);//Season{seasonName='Spring', ????????????seasonDesc='warm'}...Season{seasonName='Winter', seasonDesc='cold'}
? ? ? ? }
????????Thread.State[] state = Thread.State.values();
????????for(int i =0; i < values.length; i++){
????????????System.out.println(state[i]);//NEW牺陶、RUNNABLE、BLOCKED愈魏、WATING
? ? ? ? }
????????//ValueOf(String str):返回枚舉類中對(duì)象名是str的對(duì)象
? ? ? ? Season1 winter = Season1.valueOf("WINTER");//Season{seasonName='Winter', seasonDesc='cold'}
? ? ? ? System.out.println(winter);//WINTER
? ? }
}
enum Season1{
//1觅玻、提供當(dāng)前枚舉類的對(duì)象,用,間隔培漏,最后一個(gè)用;
? ? SPRING("Spring","warm"),
????SUMMER("Summer","hot"),
????AUTOMN("Automn","cool"),
????WINTER("Winter","cold");
//2溪厘、聲明Season對(duì)象的屬性:private final來(lái)修飾
? ? private final StringseasonName;
????private final StringseasonDesc;
//3、私有化類的構(gòu)造器
? ? private Season1(String seasonName, String seasonDesc){
????????this.seasonName = seasonName;
????????this.seasonDesc = seasonDesc;
}
//4牌柄、其他需求:獲取沒(méi)去類對(duì)象的屬性
? ? public String getSeasonName() {
????????return seasonName;
}
????public String getSeasonDesc() {
????????return seasonDesc;
}
//4.其他需求:提供toString方法
? ? @Override
? ? public String toString() {
????????return "Season{" +
????????"seasonName='" +seasonName +'\'' +
????????", seasonDesc='" +seasonDesc +'\'' +
????????'}';
????}
}