# Java 枚举字符串

> 原文： [https://www.programiz.com/java-programming/enum-string](https://www.programiz.com/java-programming/enum-string)

#### 在本教程中，我们将学习了解枚举常量的字符串值。 我们还将借助示例学习覆盖枚举常量的默认字符串值。

## Java 枚举字符串

在学习枚举字符串之前，请确保了解 [Java 枚举](https://www.programiz.com/java-programming/enums)。

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

```java
enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

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

      System.out.println("string value of SMALL is " + Size.SMALL.toString());
      System.out.println("string value of MEDIUM is " + Size.MEDIUM.name());

   }
} 
```

**输出**

```java
string value of SMALL is SMALL
string value of MEDIUM is MEDIUM 
```

在上面的示例中，我们已经看到枚举常量的默认字符串表示形式是相同常量的名称。

* * *

## 更改枚举的默认字符串值

我们可以通过覆盖`toString()`方法来更改枚举常量的默认字符串表示形式。 例如，

```java
enum Size {
   SMALL {

      // overriding toString() for SMALL
      public String toString() {
        return "The size is small.";
      }
   },

   MEDIUM {

     // overriding toString() for MEDIUM
      public String toString() {
        return "The size is medium.";
      }
   };
}

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

**输出**：

```java
The size is medium. 
```

在上面的程序中，我们创建了一个枚举`size`。 而且，我们已经为枚举常量`SMALL`和`MEDIUM`覆盖了`toString()`方法。

**注意**：我们无法覆盖`name()`方法。 这是因为`name()`方法是`final`。

要了解更多信息，请访问[创建枚举字符串](https://stackoverflow.com/questions/3978654/best-way-to-create-enum-of-strings)的最佳方法。