Java 如何使用Enum作为用户菜单?

Java 如何使用Enum作为用户菜单?,java,enums,Java,Enums,我正在尝试为一个应用程序创建一个用户菜单,我正在使用if语句和用户输入来调用该方法 Scanner kb = new Scanner(System.in); while(true) { //Users Choice System.out.println("Please Enter Choice: "); String choice = kb.nextInt(); //Calling method based on choice if(choic

我正在尝试为一个应用程序创建一个用户菜单,我正在使用if语句和用户输入来调用该方法

Scanner kb = new Scanner(System.in);

while(true) {

    //Users Choice 
    System.out.println("Please Enter Choice:  ");
    String choice = kb.nextInt();

    //Calling method based on choice 
    if(choice == 1) {
        customerWithdraw();
    }
    else if(choice == 2) {
        quit();
    }
    else {
        displayMenu();
    }
}
我记得以前读过一些东西,现在找不到了,但它基本上说枚举接口比if语句更受欢迎

我了解什么枚举本质上是一组常量,使用switch可以获得值

我再也找不到这篇文章,也找不到在线创建枚举接口的清晰方法

在if语句上使用枚举是否有好处


此外,作为枚举的上述代码的基本实现也将非常感谢。我一直在网上搜索,并且已经忘记了枚举的其他用途,甚至还有一个指向页面的链接,该页面解释了如何实现菜单。

“枚举接口优先于if语句”,无论谁说这是在谈论一个特定的案例(不是一般性声明)或者不知道他们在谈论什么。枚举是相关常量的集合。在您的示例中,没有任何东西可以使用枚举而不滥用其用途或破坏良好的编程惯例。如果您想摆脱If语句,可以将它们转换为将每个有效输入关联到相应操作的映射。h这个compiling=“if(choice==1)”您正在将一个字符串对象与一个普通整数进行比较……您知道吗?我在哪里做的?它比较两个整数?“枚举接口优于if语句”谁说这是关于一个特定的情况(不是一般的语句)或者不知道他们在谈论什么。枚举是相关常量的集合。在您的示例中,没有任何东西可以使用枚举而不滥用其用途或破坏良好的编程惯例。如果您想摆脱If语句,可以将它们转换为将每个有效输入关联到相应操作的映射。h这个compiling=“if(choice==1)”你正在比较一个字符串对象和一个普通的整数……你知道吗?我在哪里比较两个整数?