我有一个用例:
inteface A{
get(EnumSet<?> fetchModes);
}
class B implements A{
//Here FetchMode is an enum
get(EnumSet<FetchMode> fetchMode){
//Some logic here
}
}
Run Code Online (Sandbox Code Playgroud)
但它抛出编译时错误:
类 B 的方法 get 与类型 A 的 get(EnumSet fetchMode) 具有相同的擦除,但不会覆盖它。
我读过 Enums 不能是通用的,但是有什么方法可以实现这个用例吗?(基本上希望 EnumSet 是通用的,不同的实现可以传递不同的 Enum)