枚举类

作者: allen丿 | 来源:发表于2020-05-16 07:57 被阅读0次

在java中,我们可能需要常量类来表示,比如星期,天气,月份。下面我们星期来做演示。

常量类

public class Weekday {
    public final static int MON = 0;
    public final static int TUS = 1;
    public final static int WED = 2;
    public final static int THU = 3;
    public final static int FRI = 4;
    public final static int SAT = 5;
    public final static int SUN = 6;
}

常量类的使用

if(Weekday.MON == 0 && Weekday.FRI == 7){}

实际上Weekday的常量值得范围是不包括的7的,但是这里依然会比较。

枚举类

定义

public enum Weekday {
    MON,
    TUS,
    WED,
    THU,
    FRI,
    SAT,
    SUN;
}   

public class Main {
    public static void main(Stirng[] args){
        Weekday day = Weekday.SUN;
        if( Weekday.SUN == day ){
            System.out.println("This is sunday!");
        } else {
            System.out.println("This is Saturday!");
        }
    }
}

这里,枚举类会做强类型检查,如果比较的范围,超出类枚举值定义的返回,会报编译错误。

编译完后的class:

public static final Weekday extends enum {
    public static final Weekday MON = new Weekday();
    public static final Weekday TUS = new Weekday();
    ...
}

常用方法

name()

Weekday.MON.name(); //"MON"

ordinal():返回当前枚举值在枚举定义的排序

Weekday.MON.ordinal();// 1

values():这个方法属于字节码提升的方法

Weekday.values(); //返回所有枚举值的数组

小结

  • 枚举类比较的时候会做强类型检查,确保比较的值,在枚举定义的值范围内
  • 枚举值有定义的顺序
  • 可以通过values()获取到所有的枚举值

相关文章

  • 枚举

    如何定义枚举类 什么枚举类:类里的对象是有限个,可以枚举出来 如何使用enum定义枚举类 枚举...

  • Java篇-枚举的使用

    一 : 自定义枚举类 枚举类调用 二 : 使用enum关键字定义枚举类 让枚举类实现接口: 可以让不同的枚举类的对...

  • 枚举--java24(02/17/2016)

    如何自定义枚举类如何使用enum定义枚举类、枚举类的主要方法实现接口的枚举类 JDK1.5之前需要自定义枚举类JD...

  • java enum实现原理

    一、分析自定义枚举类 普通的枚举类和抽象枚举类相似,故直接分析抽象枚举类。 1. 编写一个抽象枚举类 2. 编译 ...

  • 枚举_enum

    遍历 枚举类: 测试类 反射获取值 枚举类: 测试类:

  • Chapter 8 . 枚举

    阅读原文 Chapter 8 . 枚举 8.1 枚举类 主要内容: 如何自定义枚举类 如何使用enum定义枚举类 ...

  • Java高级-枚举类与注解

    10.1.枚举类的使用: 入门 类的对象只有有限个,确定的 自定义枚举类 一.枚举类的使用1.枚举类的理解: 类的...

  • 枚举保存到数据库中为序号解决方案

    普通枚举转换配置 枚举类 枚举转换类 @Converter(autoApply = true)自动适应 在实体类中...

  • 枚举类

    什么是枚举类? 枚举类的使用 枚举类的理解:类的对象只有有限个,确定的,我们称此类为枚举类。确定则意味着不能再通过...

  • 枚举

    枚举 定义枚举类要用关键字enum 所有枚举类都是Enum的子类 枚举类的第一行上必须是枚举项,最后一个枚举项后的...

网友评论

      本文标题:枚举类

      本文链接:https://www.haomeiwen.com/subject/hbtlohtx.html