java之Enum枚举类和使用场景

一:什么是枚举

  • 是一种特殊的类,用于表示固定数量的常量,提供了一种比常量更为安全、类型安全且易读的方式来表示一组固定的常量
  • java定义枚举类型时使用的关键字是enum,与class关键字类似,但前者是定义枚举类型,后者是定义类类型
  • 注意:枚举值一般是大写的字母,多个值之间以逗号分隔
  • 使用场景
    • 表示一组固定的常量:如星期几、月份、颜色等。
    • 在switch语句中使用:枚举类型非常适合在switch语句中使用,因为它们的值是有限的,且类型安全。
    • 作为Map的键或Set的元素:由于枚举值是对象,因此可以作为Map的键或Set的元素。

二:没有枚举类型时定义常量常见

//定义一个一周里面的每天
public class DayConstant {

    public static final int MONDAY =1;

    public static final int TUESDAY=2;

    public static final int WEDNESDAY=3;

    public static final int THURSDAY=4;

    public static final int FRIDAY=5;

    public static final int SATURDAY=6;

    public static final int SUNDAY=7;

}

三:使用枚举类型定义

package chapter13;

public enum DayEnum {
    MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

四:常用API方法

  • values() 方法:该方法返回枚举类中的所有枚举值的数组。
  • valueOf(String name) 方法:该方法返回与指定名称相关联的枚举值。如果找不到具有指定名称的枚举值,则会抛出IllegalArgumentException。
  • name() :返回此枚举常量的名称

五:代码精析及注意事项:

package chapter13;

public class EnumDemo {
    public static void main(String[] args) {
        System.out.println(DayEnum.SUNDAY);

        //values()方法:返回枚举类中的所有枚举值的数组
        DayEnum[] values = DayEnum.values();
        for(DayEnum dayEnum: values){
            System.out.println(dayEnum);
        }

        DayEnum monday = DayEnum.valueOf("MONDAY");
        System.out.println("monday : "+ monday.name());
        System.out.println("下标位置为: "+ monday.ordinal());

    }
}
/**
运行结果:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
monday : MONDAY
下标位置为: 0

*/
  • 注意事项
    • 枚举值在枚举类中默认是public static final的,且其名称通常使用大写字母。
    • 枚举类的构造函数默认是私有的,以防止在枚举类外部创建枚举值的实例。
    • 枚举类不能继承其他类(因为枚举类隐式地继承了java.lang.Enum类),但可以实现接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹意雅韵(马)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值