Java:匿名枚举?

标签 java

Java 有没有匿名枚举的可能性?

例如,我希望我的类(class)有一个变量,其值可以是 5 种不同设置之一。很明显,该变量应该是一个枚举。但这是唯一使用该特定枚举的地方。通常我会在变量上方声明一个枚举类型,然后将变量声明为该类型,但我想知道是否有更简洁的方法。 Java 是否支持匿名枚举?

例子:

public class Test {
    public enum Option {
        FirstOption,
        SecondOption,
        ThirdOption
    }
    Option option;
}

有没有办法避免声明 public enum Option 而是简单地允许选项变量设置为 FirstOption、SecondOption 或 ThirdOption 而没有“选项”类型的概念?

最佳答案

No Java 不支持匿名 enums。

只需在类中声明它们,没有外部可见性:

public class Test {
  private static enum Option {
    FirstOption,
    SecondOption,
    ThirdOption
  }

  Option option;
}

关于Java:匿名枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305237/

相关文章:

java - 使用Java解析FORTRAN输出文件

java - 将较大的 SQL 转换为通过 UNION ALL 组合的多个较小的 SQL

java - 在同一个表中保存多种类型的对象的最佳方法?

java - 如何降低其方法的认知复杂性?

java - 项目和 BOM 依赖项之间有什么区别?

java - 如何使用 Selenium 在 Indeed 上单击“立即申请”按钮?

javascript - 从 Java 添加数据到 Meteor

java - 为什么 Java lmax Disruptor 在通过 EventProcessors 传递事件时有很大的延迟?

Java 类型推断 : reference is ambiguous in Java 8, 但不是 Java 7

java - 如何在 JFreeChart 时间序列图中设置日期刻度的最大标签线