📜  java enum to string - Java (1)

📅  最后修改于: 2023-12-03 14:42:13.949000             🧑  作者: Mango

Java Enum to String

在Java中,枚举(enum)类型是一种特殊的数据类型,它表示一组具有固定数量的常量。有时候我们需要将枚举类型转换成字符串类型。

以下是Java中将枚举类型转换成字符串类型的几种方法:

1. 使用toString()方法

Java中的每个枚举类型都实现了toString()方法,因此我们可以通过调用该方法来将枚举类型转换成字符串类型。

public enum Direction {
    LEFT, RIGHT, UP, DOWN;
}

Direction direction = Direction.LEFT;
String directionAsString = direction.toString(); // "LEFT"
2. 使用name()方法

枚举类型的name()方法返回该常量的名称,因此我们可以通过该方法将枚举类型转换成字符串类型。

public enum Direction {
    LEFT, RIGHT, UP, DOWN;
}

Direction direction = Direction.RIGHT;
String directionAsString = direction.name(); // "RIGHT"
3. 使用valueOf()方法

valueOf()方法可以将字符串类型转换成枚举类型,因此我们可以将枚举类型转换成字符串类型,然后再通过valueOf()方法将其转换回枚举类型。

public enum Direction {
    LEFT, RIGHT, UP, DOWN;
}

String directionAsString = "UP";
Direction direction = Direction.valueOf(directionAsString); // Direction.UP

需要注意的是,如果传递给valueOf()方法的字符串不是任何一个枚举类型的名称,那么会抛出IllegalArgumentException异常。

4. 使用Switch语句

我们也可以使用Java中的Switch语句来将枚举类型转换成字符串类型。

public enum Direction {
    LEFT, RIGHT, UP, DOWN;
}

Direction direction = Direction.DOWN;
String directionAsString;

switch (direction) {
    case LEFT:
        directionAsString = "LEFT";
        break;
    case RIGHT:
        directionAsString = "RIGHT";
        break;
    case UP:
        directionAsString = "UP";
        break;
    case DOWN:
        directionAsString = "DOWN";
        break;
    default:
        directionAsString = "UNKNOWN";
}

System.out.println(directionAsString); // "DOWN"

使用Switch语句的缺点是,如果枚举类型中新增了一个常量,我们需要手动更改Switch语句。因此,当枚举类型中新增了很多常量时,这种方法会变得很麻烦。

总结

本文介绍了Java中将枚举类型转换成字符串类型的几种方法,包括toString()方法、name()方法、valueOf()方法以及Switch语句。我们可以根据实际情况选择适合自己的方法来完成枚举类型到字符串类型的转换。