在java5增加了一个enum关键字,用来定义枚举类,相信好多的小伙伴学习java很久了,但是对于枚举类是空白的,只知道有这么个东西,奶奶不疼舅舅不爱的,对于使用更是没有应用过,相信下面的demo你一定会对枚举产生很大的兴趣,这个兄弟可以灰常的方便以及实现的!
使用枚举类会默认使用finala修改,枚举类不能派生子类。
- 代码时间
enum SeasonEnum{
//定义四个实例,春,夏,秋,冬
SPRING,SUMMER,FALL,WINTER;
}
public class JudgeTest {
public void judge(SeasonEnum s){
//swith语句里的表达式可以为枚举值
switch (s)
{
case SPRING:
System.out.println("春天到了,又到了动物交配的季节!");
break;
case SUMMER:
System.out.println("夏天,小青蛙呱呱叫");
break;
case FALL:
System.out.println("秋天,是个分手的好季节");
break;
case WINTER:
System.out.println("老婆孩子热炕头ing");
break;
}
}
}
public class EnumTest {
public static void main(String[] args) {
//打印枚举类型中的所有实例
for (SeasonEnum s : SeasonEnum.values()) {
System.out.println(s);
}
System.out.println();
//传入指定的实例,输出方法中符合条件的结果
new JudgeTest().judge(SeasonEnum.SPRING);
}
}
- 运行结果
在java中对象之间判断是否相等常用的是equalse,在枚举中使用的是“==”
public class EnumTest {
public static void main(String[] args) {
SeasonEnum spring = SeasonEnum.SPRING;
if (spring == SeasonEnum.WINTER){
System.out.println("输入的值存在");
}else {
System.out.println("值不存在!");
}
}
}
java.lang.Enum类中的其他方法:
(1)int compareTo(E o):
用于与指定枚举对象比较顺序,同一个枚举实例只能与相同类型的枚举实例进行比较。如果该枚举对象位于指定枚举对象之后,则返回正整数,如果位置指定枚举对象之前,则返回负整数,否则返回零。
(2)String name():
返回此枚举实例的名称,这个名称就是定义枚举类时列出的所有枚举值之一,不过大多数情况下使用的toString方法,此方法返回的结果更加友好。
(3)int ordinal():
返回枚举值在枚举类中的索引值(就是枚举值在枚举声明 中的位置,枚举值 的索引 从0开始)。