这个问题可能听起来很愚蠢,但我不知道如何解决这个问题:
我有一些枚举类可以为我正在开发的应用程序建模一些常量,例如:
public enum Daily{GROCERIES, SUPPLIES,....}
public enum Monthly{NEWSPAPER, MAGAZINES,....}
public enum BiMonthly{....}
并且假设我有一个对象,其中包含一个以前任何枚举后建模的字段:
public class SomeObject{
...
private Daily/Monthly/ByMonthly category;
...
}
我该如何塑造这个?我不知道是否将所有枚举放在一个类中,并使我的对象的字段为Something<E extends Enum>
类型,或者创建一个没有方法的接口,我的所有枚举都实现并创建我的对象类型的字段{ {1}}。
由于
答案 0 :(得分:3)
我认为你应该以不同的方式构建你的枚举/类。类似的东西:
public enum Recurrence {
DAILY,
MONTHLY,
BIMONTHLY
}
public enum Distributions {
GROCERIES(Recurrence.DAILY),
SUPPLIES(Recurrence.DAILY),
NEWSPAPER(Recurrence.MONTHLY),
MAGAZINES(Recurrence.BIMONTHLY);
private Recurrence recurrence;
private Distributions(Recurrence recurrence) {
this.recurrence = recurrence;
}
public Recurrence getRecurrence() {
return this.recurrence;
}
}
public class SomeObject{
...
private Distributions distribution;
...
}
答案 1 :(得分:1)
听起来好像你的模特里面了。如果您有类别枚举,那该怎么办:
public enum Category { DAILY, MONTHLY, BIMONTHLY }
代替?
答案 2 :(得分:0)
您可以在类本身内创建枚举,如此
public class SomeObject { ...
public enum Daily {GROCERIES,SUPPLIES,....}
public enum每月{报纸,杂志,......}
public enum BiMonthly {....}
... }
然后为每个枚举创建bean(setter / getter方法),然后你可以像普通变量一样简单地访问这些枚举。