如果我有一堆类都包含一个 Enum 和 EnumMap 并且我想为这些类创建一个超类。
public interface ColorEnum {
}
class ColorMarbles extends Toy {
enum MARBLE implements ColorEnum
{ BLUE, GREEN }
EnumMap<MARBLE, String> names = new EnumMap<MARBLE, String>(MARBLE.class);
//stuff
// fields
public void populate(ArrayList<String> designer) {
int i = 0;
for(MARBLE marble : MARBLE.values()) {
marble.name = designer.get(i);
i++;
}
}
}
class ColorBalloons extends Toy {
enum BALLOON implements ColorEnum
{ YELLOW, RED }
EnumMap<BALLOON, String> names = new EnumMap<BALLOON, String>(BALLOON.class);
//stuff
// fields
public void populate(ArrayList<String> designer) {
int i = 0;
for(BALLOON balloon : BALLOON.values()) {
balloon.name = designer.get(i);
i++;
}
}
}
如何创建一个超类以拥有一个包含这样的 ColorEnum 类型的枚举的通用 EnumMap?
public abstract class Toy {
EnumMap<ColorEnum, String> names;
}
eidt:我意识到我的例子太含糊了。狗可能是一个不好的例子。我把它改成希望更清楚的东西。
我拥有的是一堆类,它们具有填充 EnumMap 之类的方法。名称按预定义的顺序排列。我希望能够将它带到 Toy 超类中,而不是在每个类中定义填充,这样我就不必在每个新的类类型 Toy 中继续复制粘贴。
希望这将解释更多我在寻找什么。