Enum成员方法
- 说明:使用关键字enum时,会隐式继承Enum类,这样我们就可以使用Enum 类相关的方法。[看下源码定义]
- public abstract class Enum<E extends Enum> implements Comparable, Serializable{
}
values()方法,返回Season2[],含有定义的所有枚举对象
valueof()方法,将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常
补充了增强for循环
package com.enum_;
/**
* @version 1.0
* @anther 田毅
*/
public class EnumMethod {
public static void main(String[] args) {
//使用Season2枚举类,来演示各种方法
Season2 summer = Season2.SUMMER;
//name是常量对象的名字,在常量对象创建时调用
System.out.println(summer.name());
//ordinal()输出的是该枚举对象的次序/编号,从0开始编号
//因此SUNMMER枚举对象是第二个,因此输出1。
System.out.println(summer.ordinal());
//返回Season2[],含有定义的所有枚举对象
Season2[] values = Season2.values();
System.out.println("遍历取出枚举对象(增强for)======");
for (Season2 season : values) {//增强for循环,快捷键 values.for
System.out.println(season);
}
// valueOf:将字符串转换成枚举对象,要求字符串必须VT为已有的常量名,否则报异常
// 执行流程
//1。根据你输入的“ AUTUMN“到 Season2的枚举对象去查找
//2。如果找到了,就返回,如果没有找到,就报错
Season2 summer1 = Season2.valueOf("SUMMER");
System.out.println("summer1=" + summer1); //summer和summer1是同一个对象
//compareTo:比较两个枚举常量,比较的就是编号
//老韩解读
//1.就是把 Season2. AUTUMN枚举对象的编号和 Season2. SUMMER枚举对象的编号比车
//2.看看结果
/*
public final int compareTo(E o){
return self. ordinal-other. ordinal;
}
Season2. SUMMER的编号[2]- Season:2. AUTUMN的编号
*/
System.out.println(Season2.SUMMER.compareTo(Season2.AUTUMN));
}
}