枚举类你真的会吗?

在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开始)。

发布了47 篇原创文章 · 获赞 34 · 访问量 8855

猜你喜欢

转载自blog.csdn.net/weixin_42893085/article/details/105415518