【发布时间】:2015-04-24 18:54:58
【问题描述】:
为了为通用公共方法的每个枚举实例提供特定行为,我们可以执行以下操作:
public enum Action {
a{
void doAction(...){
// some code
}
},
b{
void doAction(...){
// some code
}
},
c{
void doAction(...){
// some code
}
};
abstract void doAction (...);
}
有没有办法为枚举中定义的抽象泛型方法提供特定的实现?
例如:
abstract<T> T doAction (T t);
我在其他问题中读到这应该是不可能的,但我一直在努力寻找解决方法,并想出了过于复杂的装置。也许泛型不是正确的方法。有没有更简单的方法来实现这一点?
【问题讨论】:
-
我不确定我是否理解您想要实现的目标。请定义“为抽象泛型方法提供特定实现”。
-
为什么需要这个?如果常量
A有一个接受String的方法,而常量B有一个接受Integer的方法,为什么它们需要是相同的方法?