0
点赞
收藏
分享

微信扫一扫

java枚举 new

ZMXQQ233 2023-08-11 阅读 70

Java枚举及其使用

引言

在Java中,枚举(Enumeration)是一种特殊的类,用于定义一组常量。它可以枚举(列举)一组特定的值,并且可以为这些值定义一些操作或行为。使用枚举可以增加代码的可读性和可维护性,同时也可以保证某些特定的值不会被篡改或误用。

枚举的定义

在Java中,我们可以使用关键字enum来定义一个枚举。下面是一个示例:

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

上述代码定义了一个名为Weekday的枚举,其中包含了一周的每一天。这些天都是常量,并且默认是按顺序从0开始自增的。我们可以使用这些常量来表示具体的星期几。

枚举的用法

在实际应用中,枚举可以用于表示一组相关的常量,如颜色、方向、状态等。下面是一个表示颜色的枚举的示例:

public enum Color {
    RED, GREEN, BLUE
}

我们可以使用枚举常量来表示具体的颜色值,如Color.REDColor.GREENColor.BLUE

枚举不仅可以表示常量,还可以为每个常量定义一些方法和属性。例如,我们可以在Weekday枚举中定义一个方法来获取星期几的中文名称:

public enum Weekday {
    MONDAY("星期一"),
    // ...其他常量
    
    private final String chineseName;
    
    private Weekday(String chineseName) {
        this.chineseName = chineseName;
    }
    
    public String getChineseName() {
        return chineseName;
    }
}

在上述代码中,我们为每个枚举常量添加了一个chineseName属性,并在构造方法中初始化。然后,我们可以通过调用getChineseName()方法来获取每个常量的中文名称。

枚举的比较

在Java中,枚举常量是唯一的,可以使用==运算符进行比较。例如,我们可以使用以下代码比较两个枚举常量是否相等:

Weekday day1 = Weekday.MONDAY;
Weekday day2 = Weekday.MONDAY;

if (day1 == day2) {
    System.out.println("相等");
} else {
    System.out.println("不相等");
}

上述代码将输出相等,因为day1day2引用了相同的枚举常量。

枚举的遍历

有时候,我们需要遍历枚举的所有常量。在Java中,可以使用values()方法获取枚举中的所有常量。下面是一个示例:

for (Weekday day : Weekday.values()) {
    System.out.println(day);
}

上述代码将输出所有的枚举常量,即星期一到星期日。

枚举的switch语句

在Java中,可以使用switch语句来处理枚举常量。下面是一个示例:

Weekday day = Weekday.MONDAY;

switch (day) {
    case MONDAY:
        System.out.println("星期一");
        break;
    case TUESDAY:
        System.out.println("星期二");
        break;
    // ...其他常量
    default:
        System.out.println("未知");
        break;
}

上述代码将根据day的值输出相应的中文名称。

枚举的应用场景

枚举在实际开发中有着广泛的应用场景。以下是一些常见的应用场景:

  • 表示一组相关的常量,如颜色、状态、操作等;
  • 用于取代常量类或静态常量的定义,增加代码的可读性和可维护性;
  • 作为方法的参数或返回值,限制参数的取值范围;
  • 用于代替布尔类型的判断,增加代码的可读性。

举报

相关推荐

Java ::new

【Java】枚举

Java 枚举

Java枚举

Java——枚举

《Java枚举》

0 条评论