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


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

示例

我们创建一个名为 Vehicles 的枚举,它有 5 个常量,表示 5 辆不同滑板车的型号,其价格作为值,如下所示 −

enum Vehicles {
   //Constants with values
   ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000); //Instance variable
   private int price;
   //Constructor to initialize the instance variable
   Vehicles(int price) {
      this.price = price;
   }
   //Static method to display the 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

更新于: 2019-07-30

3K+ 查看

开启你的 职业

通过完成课程获得认证

开始
广告