【发布时间】:2009-07-14 00:29:48
【问题描述】:
所以,假设我有一个简单的枚举和一个使用它的类:
enum ThingType { POTATO, BICYCLE };
class Thing {
public void setValueType(ThingType value) { ... }
public ThingType getValueType() { ... }
}
但是,实际上,我有很多不同的类实现 setValueType,每个类都有不同类型的枚举。我想制作一个这些类可以实现的接口,它使用泛型支持 setValueType 和 getValueType:
interface ValueTypeable {
public Enum<?> getValueType(); // This works
public <T extends Enum<T>> setValueType(T value); // this fails horribly
}
我无法更改类模型,因为这些类是从 XML 模式 (JAXB) 自动生成的。我觉得我没有掌握枚举和泛型的结合。这里的目标是我希望能够允许用户从枚举列表中进行选择(因为我已经知道运行时的类型)并在特定类中设置值。
谢谢!
【问题讨论】:
标签: java generics interface enums