Java 如何避免扩展枚举的能力不足?

Java 如何避免扩展枚举的能力不足?,java,enumeration,Java,Enumeration,对于这个问题的结果,我提前表示歉意。我真的想不出一个好的表达方式 为了使用方法抽象,我非常希望有一个枚举扩展另一个枚举。这会让生活变得更轻松。唉,我不能。那么,有人知道我如何实现抽象方法调用这样的功能吗?我尝试了一个接口,但很快就知道不能使用枚举泛型 编辑1: 我刚刚发现,我会看看它,看看是否能从帮助中得到答案。我将保留此选项,以防万一。我们经常使用来允许使用外部功能扩展枚举。差不多 boolean reallyLoveThisDay = dayOfWeek.accept(new Default

对于这个问题的结果,我提前表示歉意。我真的想不出一个好的表达方式

为了使用方法抽象,我非常希望有一个枚举扩展另一个枚举。这会让生活变得更轻松。唉,我不能。那么,有人知道我如何实现抽象方法调用这样的功能吗?我尝试了一个接口,但很快就知道不能使用枚举泛型

编辑1: 我刚刚发现,我会看看它,看看是否能从帮助中得到答案。我将保留此选项,以防万一。

我们经常使用来允许使用外部功能扩展枚举。差不多

boolean reallyLoveThisDay = dayOfWeek.accept(new DefaultDayOfWeekVisitor<Boolean>()
{
  public Boolean visitMonday(DayOfWeek dayOfWeek) { return false; }
  public Boolean visitDefault(DayOfWeek dayOfWeek) { return true; }
});
boolean reallyLoveThisDay=dayOfWeek.accept(新的DefaultDayOfWeekVisitor()
{
公共布尔visitMonday(DayOfWeek DayOfWeek){return false;}
公共布尔值visitDefault(DayOfWeek DayOfWeek){return true;}
});

根据我编辑的链接,@EJP可能重复。我也不完全确定如何使用枚举。如何维护枚举。。。可枚举性?这可能会变得很大,但并不复杂。不知道你所说的“可枚举性”是什么意思。通常,我认为扩展枚举有两个可能的原因——添加枚举值或重写/添加方法。出于第一个原因,Java枚举是错误的工具。对于第二个,您可以通过访问者对操作进行建模。“覆盖”意味着使用不同的访问者。扩展访问者是微不足道的。