编程语言
首页 > 编程语言> > 【Java 基础】枚举(Enum)的使用

【Java 基础】枚举(Enum)的使用

作者:互联网

文章目录

前言

在JDK 5 之前,我们定义常量都是: public static fianl… 。

JDK 5 之后,枚举(Enum)引入了。我们可以使用枚举定义定义常量。

一、枚举

1.什么是枚举?

可以将枚举看成一种特殊的类,他的声明的变量默认就有“public static fianl”修饰。

枚举都是继承自“java.lang.Enum”类。

作用:当需要定义一组常量时,可以使用枚举类型

2.枚举使用

2.1 语法

创建枚举类需要使用“enum”关键字。创建的常量用逗号分隔。

enum 枚举名字 {
    枚举体(常量列表)
}
2.2 基本使用

例如,定义一组季节(Season)的常量。最常使用这个。

如果需要使用时,只需要“枚举类名.属性名”即可,返回值是常量的名称(也就是属性名)。

public enum SeasonEnum {
    SPRING, SUMMER, AUTUMN, WINTER
}
2.3 其他使用方法

给枚举属性添加一个值,该值表示枚举值为第几个季节。

注意:枚举体(属性)添加了“常量列表”,需要创建一个值,同时给该值一个构造器。

public enum SeasonEnum {
    SPRING(1), SUMMER(2), AUTUMN(3), WINTER(4);

    private int ordinal;

    SeasonEnum(int ordinal) {
        this.ordinal = ordinal;
    }

    /** 获取序数(也就是第几个季节) */
    public int getOrdinal() {
        return ordinal;
    }
}

测试:获取枚举常量名称,枚举的次序,枚举的值。

可以通过“name()”和“ordinal()”方法获取值。(方法继承自枚举类的父类Enum)

SeasonEnum spring = SeasonEnum.SPRING;
System.out.printf("枚举常量的名称:%s\n枚举常数的序数:%s \n", spring.name(), spring.ordinal());
ystem.out.printf("枚举的值:%s", spring.getSequence());

输出:"SPRING"代表枚举的名称,"0"代表当前枚举在第一个位置(下标0),"1"代表他的值为1

枚举常量的名称:SPRING
枚举常数的序数:0 
枚举的值:1
2.4 备注

枚举类还有一个values()方法,可以用来获取枚举类的所有枚举属性。

例如:SeasonEnum.values()。(可以获取枚举类SeasonEnum的所有属性)

3.枚举与普通类对比

4.阿里巴巴枚举使用规范

4.1 命名风格

参考:《阿里巴巴Java开发手册(华山版)》

4.2 常量定义

正例:

public enum SeasonEnum {
 SPRING(1), SUMMER(2), AUTUMN(3), WINTER(4);
 private int seq;
 SeasonEnum(int seq) {
 this.seq = seq;
 }
 public int getSeq() {
   return seq;
 }
}

参考:《阿里巴巴Java开发手册(华山版)》

参考

《阿里巴巴Java开发手册(华山版)》

Java高级特性-枚举

Java 枚举(enum) 详解7种常见的用法

标签:ordinal,SeasonEnum,enum,Java,常量,Enum,枚举,public
来源: https://blog.csdn.net/weixin_44034328/article/details/120416537