如何在 Java 中将字符串转换为枚举?

java 8object oriented programmingprogramming

Java 中 Enum 类的 valueOf() 方法接受字符串值并返回指定类型的枚举常量。

示例

让我们创建一个名为 Vehicles 的枚举,其中包含 5 个常量,代表 5 种不同车型,其价格为值,如下所示 −

enum Vehicles {
    //具有值的常量
    ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000); //实例变量
    private int price;
    //用于初始化实例变量的构造函数
    Vehicles(int price) {
        this.price = price;
    }
    //显示价格的静态方法
    public int getPrice(){
        return this.price;
    }
}

以下 Java 程序接受来自用户的字符串值,使用 valueOf() 方法将其转换为 Vehicles 类型的枚举常量,并显示所选常量的值(价格)。

public class EnumerationExample {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Available scoters: [activa125, activa5g, access125, vespa, tvsjupiter]");
      System.out.println("Enter the name of required scoter: ");
      String name = sc.next();
      Vehicles v = Vehicles.valueOf(name.toUpperCase());
      System.out.println("Price: "+v.getPrice());
   }
}

输出

Available scoters: [activa125, activa5g, access125, vespa, tvsjupiter]
Enter the name of required scoter:
activa125
Price: 80000

相关文章