values():返回枚举类型的对象数组,便于遍历所有枚举类
valueOf(String str):讲一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。
toString():返回当前枚举类对象常量的名称。
代码示例:
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):返回枚举类中对象名是str的对象
Season1 winter = Season1.valueOf("WINTER");//Season{seasonName='Winter', seasonDesc='cold'}
System.out.println(winter);//WINTER
}
}
enum Season1{
//1、提供当前枚举类的对象,用,间隔,最后一个用;
SPRING("Spring","warm"),
SUMMER("Summer","hot"),
AUTOMN("Automn","cool"),
WINTER("Winter","cold");
//2、声明Season对象的属性:private final来修饰
private final StringseasonName;
private final StringseasonDesc;
//3、私有化类的构造器
private Season1(String seasonName, String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//4、其他需求:获取没去类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4.其他需求:提供toString方法
@Override
public String toString() {
return "Season{" +
"seasonName='" +seasonName +'\'' +
", seasonDesc='" +seasonDesc +'\'' +
'}';
}
}