跳到主要内容

Java 枚举和字符串

提示
  1. 枚举转字符串:在Java中,使用toString()name()方法可以获取枚举常量的字符串表示,如Size.SMALL.toString()会返回"SMALL"。
  2. 自定义枚举字符串表示:可以通过重写toString()方法来自定义枚举常量的字符串表示,改变其默认行为。
  3. name()方法不可重写name()方法是final的,不能在枚举中被重写,总是返回枚举常量的名称。

Java 枚举字符串

在了解枚举字符串之前,请确保已经了解了 Java 枚举

在 Java 中,我们可以使用 toString() 方法或 name() 方法来获取枚举常量的字符串表示。例如,

enum Size {
SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Main {
public static void main(String[] args) {

System.out.println("SMALL 的字符串值为 " + Size.SMALL.toString());
System.out.println("MEDIUM 的字符串值为 " + Size.MEDIUM.name());

}
}

输出

SMALL 的字符串值为 SMALL
MEDIUM 的字符串值为 MEDIUM

在上述示例中,我们看到枚举常量的默认字符串表示就是该常量的名称。

更改枚举的默认字符串值

我们可以通过重写 toString() 方法来更改枚举常量的默认字符串表示。例如,

enum Size {
SMALL {

// 重写 SMALL 的 toString() 方法
public String toString() {
return "尺寸是小的。";
}
},

MEDIUM {

// 重写 MEDIUM 的 toString() 方法
public String toString() {
return "尺寸是中等的。";
}
};
}

class Main {
public static void main(String[] args) {
System.out.println(Size.MEDIUM.toString());
}
}

输出

尺寸是中等的。

在上述程序中,我们创建了一个名为 Size 的枚举。我们为枚举常量 SMALLMEDIUM 重写了 toString() 方法。

注意: 我们不能重写 name() 方法。因为 name() 方法是 final 的。

要了解更多,请访问 创建枚举字符串的最佳方式