描述
运用java枚举类常用valueOf()方法和compareTo()方法,判断季节的位置
题目
创建EnumMethodTest类,在主方法中创建字面值为“SUMMER”的季节枚举,让创建出的枚举与四季枚举的每一个值做对比,判断“SUMMER”所在的位置。
题目解决思路
- 创建四季枚举类。
- 根据字符串valueOf()方法创建一个枚举值。
代码具体实现
代码实现:
public class EnumMethodTest {
public static void main(String[] args) {
SeasonEnum3 summer = SeasonEnum3.valueOf("SUMMER");//根据字符串创建一个枚举值
SeasonEnum3[] values = SeasonEnum3.values();//获取所有枚举值
for (int i = 0; i < values.length; i++) {
String message = "";//带输出的信息
int result = summer.compareTo(values[i]);//记录两个枚举的比较结果
if (result < 0) {
message = summer + "在" + values[i] + "的前" + (-result) + "个位置";
} else if (result > 0) {
message = summer + "在" + values[i] + "的后" + result + "个位置";
} else if (result == 0) {
message = summer + "与" + values[i] + "是同一个值";
}
System.out.println(message);
}
System.out.println();
}
}
enum SeasonEnum3 {//四季枚举
SPRING, SUMMER, AUTUMN, WINTER;
}
运行结果如下:
SUMMER在SPRING的后1个位置
SUMMER与SUMMER是同一个值
SUMMER在AUTUMN的前1个位置
SUMMER在WINTER的前2个位置