java - java中的选项/枚举?

标签 java

java 中的枚举有最佳实践吗?例如,我有以下内容:

class Foo {

    public static final int OPTION_1 = 'a';
    public static final int OPTION_2 = 'b';

    public void doSomething(String name, int option) {
       ...
    }
}

void test() {
    Foo foo = new Foo();
    foo.doSomething("blah", Foo.OPTION_2);
}

因此用户可以选择使用 Foo 中定义的静态 int 之一,但他们也可以提供他们想要的任何其他 int,没有编译时检查。 java 中是否有某种方法可以解决此问题,是否有其他方法可以限制最终开发人员仅从定义的选项类型中进行选择?

谢谢

最佳答案

class Foo {
    public enum Option{First, Second}
    public void doSomething(String name, Option option) {
       ...
    }
}

void test() {
    Foo foo = new Foo();
    foo.dosomething("blah", Foo.Option.Second);
}

关于java - java中的选项/枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3637387/

相关文章:

java - Eclipse/Java 类找不到

java - 使用 JOAuth 进行 OAuth 1 授权,需要示例

java - JDBC 从重复插入中生成 key

java - 在 Arraylist 中添加和获取字符串数组

java - 如何在 hibernate 中映射 oracle 同义词

java - 在系绳模式下获取计算机的IP地址

java - BufferedReader 在到达空行时停止读取

java - eclipse RCP java.lang.NoClassDefFoundError : javax/validation/ConstraintViolationException

java - 如何使用 EAR 文件的 lib 目录?

java - 这算作单线程吗?