介绍
Java枚举类是一种特殊的类,用于表示一组常量。它们在Java程序中非常有用,因为它们允许您将一组预定义的常量聚合在一起,并将它们视为单个实体。这样,可以减少代码量并提高代码可读性。
正文
一、定义枚举类
定义枚举类非常简单,只需要使用关键字“enum”:
    public enum Weekday {
        MONDAY,
        TUESDAY,
        WEDNESDAY,
        THURSDAY,
        FRIDAY,
        SATURDAY,
        SUNDAY
    }
这里定义了一个枚举类Weekday,包含了一周中的所有星期几。其中,MONDAY、TUESDAY等都是常量,它们的类型是Weekday,每个常量都用逗号分隔。
二、枚举类中的方法
在枚举类中,您可以定义构造函数、普通方法和静态方法。
1. 构造函数
与普通类一样,您可以在枚举类中定义构造函数。每个枚举常量都是枚举类的实例,因此您可以像普通类一样使用构造函数来初始化每个枚举常量。下面的例子展示了如何定义一个带有参数的构造函数:
    public enum Weekday {
        MONDAY("星期一"),
        TUESDAY("星期二"),
        WEDNESDAY("星期三"),
        THURSDAY("星期四"),
        FRIDAY("星期五"),
        SATURDAY("星期六"),
        SUNDAY("星期日");
        private String chineseName;
        Weekday(String chineseName) {
            this.chineseName = chineseName;
        }
        public String getChineseName() {
            return chineseName;
        }
    }
这里添加了一个带有一个参数的构造函数,用于为每个枚举常量设置中文名字。在定义枚举常量时,需要传入参数,如MONDAY(“星期一”)。
2. 普通方法
在枚举类中,您可以添加普通方法,使用方式与普通类类似。例如,在上面的Weekday枚举类中,我们定义了一个名为getChineseName的方法,用于获取中文名字。
3. 静态方法
除了普通方法之外,您也可以定义静态方法。静态方法仅与当前枚举类有关,而不与任何枚举常量实例有关。例如:
    public enum Weekday {
        MONDAY,
        TUESDAY,
        WEDNESDAY,
        THURSDAY,
        FRIDAY,
        SATURDAY,
        SUNDAY;
        public static Weekday getRandomDay() {
            return values()[(int) (Math.random() * values().length)];
        }
    }
在这个例子中,我们定义了一个名为getRandomDay的静态方法,用于返回一个随机星期几。
三、枚举类的常用方法
Java提供了一些常用的枚举类方法,我们可以使用它们来操作枚举常量。
1. values()方法
Java编译器会为每个枚举类型生成一个values()方法。这个values()方法可以返回存储在枚举类型中的所有枚举常量数组。比如:
    Weekday[] weekdays = Weekday.values();
这里我们使用values()方法获取Weekday枚举类中的所有常量,并将它们存储在数组中。
2. valueOf()方法
valueOf()方法用于根据字符串获取枚举常量。如果您有一个字符串,想要获取对应的枚举常量,可以调用这个方法。例如:
    Weekday weekday = Weekday.valueOf("MONDAY");
在这个例子中,valueof()方法会返回MONDAY枚举常量。
3. ordinal()方法
ordinal()方法用于获取枚举常量的索引,即它们在常量数组中的位置。例如:
    int index = Weekday.MONDAY.ordinal();
在这个例子中,ordinal()方法会返回0,表示MONDAY是Weekday枚举类型中的第一个常量。
4. name()方法
name()方法用于获取枚举常量的名称。例如:
    String name = Weekday.MONDAY.name();
在这个例子中,name()方法会返回字符串”MONDAY”。
四、小结
使用枚举类可以让代码更加简洁、明了,而且Java在枚举类上提供了许多不同的方法,可以用于操作枚举常量。在实际编程中,枚举类是非常有价值的。
代码示例
    public enum Weekday {
        MONDAY("星期一"),
        TUESDAY("星期二"),
        WEDNESDAY("星期三"),
        THURSDAY("星期四"),
        FRIDAY("星期五"),
        SATURDAY("星期六"),
        SUNDAY("星期日");
        private String chineseName;
        Weekday(String chineseName) {
            this.chineseName = chineseName;
        }
        public String getChineseName() {
            return chineseName;
        }
        public static Weekday getRandomDay() {
            return values()[(int) (Math.random() * values().length)];
        }
    }
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/309934.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 