如何将枚举转换为字符串

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

Java 中的 enum 数据类型对于定义常量非常有用,例如一周的天数或一年的月份。然而,有时我们需要将这些常量转换为字符串。掌握如何实现这一点对于处理 API 和数据库至关重要。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/BasicSyntaxGroup(["`Basic Syntax`"]) java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/SystemandDataProcessingGroup(["`System and Data Processing`"]) java/BasicSyntaxGroup -.-> java/for_loop("`For Loop`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("`Classes/Objects`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_attributes("`Class Attributes`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/oop("`OOP`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/interface("`Interface`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/enums("`Enums`") java/SystemandDataProcessingGroup -.-> java/object_methods("`Object Methods`") java/SystemandDataProcessingGroup -.-> java/string_methods("`String Methods`") subgraph Lab Skills java/for_loop -.-> lab-117421{{"`如何将枚举转换为字符串`"}} java/classes_objects -.-> lab-117421{{"`如何将枚举转换为字符串`"}} java/class_attributes -.-> lab-117421{{"`如何将枚举转换为字符串`"}} java/oop -.-> lab-117421{{"`如何将枚举转换为字符串`"}} java/interface -.-> lab-117421{{"`如何将枚举转换为字符串`"}} java/enums -.-> lab-117421{{"`如何将枚举转换为字符串`"}} java/object_methods -.-> lab-117421{{"`如何将枚举转换为字符串`"}} java/string_methods -.-> lab-117421{{"`如何将枚举转换为字符串`"}} end

创建枚举

首先,创建一个包含你想要转换为字符串的常量的枚举。在这个例子中,我们将使用 Course 枚举。

enum Course {
  JAVA, ANDROID, HTML, CSS
}

使用 name() 方法将枚举转换为字符串

枚举的 name() 方法会将常量的名称作为字符串返回。要使用此方法将枚举转换为字符串,我们可以遍历枚举的值并对每个常量调用 name()

Course[] courses = Course.values(); // 获取所有枚举值
for (Course course : courses) {
  System.out.println(course.name()); // 将枚举常量的名称作为字符串打印
}

输出:

JAVA
ANDROID
HTML
CSS

使用 toString() 方法将枚举转换为字符串

我们还可以通过重写枚举的 toString() 方法将枚举转换为字符串。此方法应返回枚举值的字符串表示形式。在这个例子中,我们将为 Course 枚举添加一个 course_name 字段,并重写 toString() 以返回该字段。

enum Course {
  JAVA("Java"), ANDROID("Android"), HTML("HTML"), CSS("CSS");

  String course_name;

  Course(String course_name) {
    this.course_name = course_name;
  }

  @Override
  public String toString() {
    return course_name;
  }
}

要使用此方法将枚举转换为字符串,我们可以遍历枚举的值并对每个常量调用 toString()

Course[] courses = Course.values(); // 获取所有枚举值
for (Course course : courses) {
  System.out.println(course.toString()); // 使用 toString() 方法将枚举作为字符串打印
}

输出:

Java
Android
HTML
CSS

声明常量的替代方法

除了枚举之外,Java 中还有其他声明常量的方法。一种方法是在类中使用 static final 字段。

class Course {
  public static final String JAVA= "Java";
  public static final String ANDROID= "Android";
  public static final String HTML= "HTML";
  public static final String CSS= "CSS";
}

我们可以通过类名和常量名直接访问这些常量:

System.out.println(Course.JAVA); // 打印常量字符串

输出:

Java

另一种方法是使用接口来声明常量:

public interface Course {
  String JAVA= "Java";
  String ANDROID= "Android";
  String HTML= "HTML";
  String CSS= "CSS";
}

我们可以通过接口名和常量名直接访问这些常量:

System.out.println(Course.JAVA); // 打印常量字符串

输出:

Java

总结

将枚举转换为字符串是 Java 编程中的常见任务。我们可以使用枚举的 name() 方法或 toString() 方法将其转换为字符串。此外,我们还可以使用 static final 字段或接口来声明常量,而不是使用枚举。

您可能感兴趣的其他 Java 教程