【发布时间】:2012-11-03 07:27:51
【问题描述】:
假设你有一个通用接口:
public interface MyInterface<T> {
T doSomething();
}
是否可以声明一个实现MyInterface<T> 的枚举,但每个枚举常量都为不同的T 值实现它?也就是说,给定这个枚举:
public enum MyEnum {
FOO,
BAR,
BAZ;
}
我们可以改变它,使FOO 实现MyInterface<Integer>,BAR 实现MyInterface<String>,和BAZ 实现MyInterface<List<MyOtherType>>,并使MyEnum 整体实现MyInterface<?>?这样做似乎是完全可行的,因此它可能以类型安全的方式完成。
【问题讨论】:
标签: java generics interface enums