【发布时间】:2020-03-10 07:12:55
【问题描述】:
我有一个用例:
inteface A{
get(EnumSet<?> fetchModes);
}
class B implements A{
//Here FetchMode is an enum
get(EnumSet<FetchMode> fetchMode){
//Some logic here
}
}
但它会抛出编译时错误:
B 类的方法 get 与 A 类的 get(EnumSet fetchMode) 具有相同的擦除,但不会覆盖它。
我读过 Enums 不能是通用的,但是有什么方法可以实现这个用例吗? (基本上希望EnumSet是泛型的,不同的实现可以传递不同的Enums)
【问题讨论】:
-
@Alex : 已经看到/应用了这一点。这适用于除枚举之外的所有其他集合/数据类型。
标签: java generics inheritance enums enumset