一、方法名
toString()返回当前对象名,子类可以重写该方法,用于返回对象的属性信息
@Override
public String toString() {
return "Season3{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
name() 返回当前对象名(常量名) 子类不能重写
System.out.println(autumn.name());
ordinal() 输出的是枚举对象的词序/编号 从0开始编号
System.out.println(autumn.ordinal());
values() 返回枚举类中的所有常量
Season3 values[] = Season3.values();
valueOf() 将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常
Season3 season3 = Season3.valueOf("AUTUMN");
System.out.println("autumn=" + autumn);
compareTo() 比较两个枚举常量的位置号(编号)
System.out.println(Season3.AUTUMN.compareTo(Season3.SUMMER));
二、代码实现
/* 演示Enum方法的使用 */
public class EnumMethod {
public static void main(String[] args) {
Season3 autumn = Season3.AUTUMN;
// name() 返回当前对象名(常量名) 子类不能重写
System.out.println(autumn.name());
// ordinal() 输出的是枚举对象的词序/编号 从0开始编号
System.out.println(autumn.ordinal());
// values() 返回枚举类中的所有常量
Season3 values[] = Season3.values();
// 增强for循环
for(Season3 searon: values){
System.out.println(searon);
}
/*int nums[] = {1,2,3};
System.out.println("=====普通for循环=====");
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
System.out.println("=====增强for循环=====");
for(int i : nums){// 执行流程是依次从nums数组中取出数据赋给i
System.out.println("i=" + i);
}*/
// valueOf() 将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常
// 执行流程 根据输入的名称到枚举对象中查找 如果找到了就输出 如果没有则报错
Season3 season3 = Season3.valueOf("AUTUMN");
System.out.println("autumn=" + autumn);
// compareTo() 比较两个枚举常量的位置号(编号)
// Season3.AUTUMN的编号 - Season3.SUMMER的编号
System.out.println(Season3.AUTUMN.compareTo(Season3.SUMMER));
}
}
enum Season3{
SPRING("春天","温暖"),SUMMER("夏天","炎热"),
AUTUMN("秋天","凉爽"),WINTER("冬天","寒冷");
private String name;
private String desc;
private Season3(){// 无参构造器
}
private Season3(String name, String desc) {
this.name = name;
this.desc = desc;
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
// toString()返回当前对象名,子类可以重写该方法,用于返回对象的属性信息
@Override
public String toString() {
return "Season3{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}