I tried using a generic EnumMap as a parameter in an abstract method. My problem is that when I implement an abstract method with an existing enum for EnumMap, the compiler tells me that I need to remove the overriding annotation and implement the super method.
Here is my abstract class:
import java.util.EnumMap;
import java.util.HashMap;
public abstract class AbstractClazz {
public abstract <K extends Enum<K>> boolean isVisible(EnumMap<K, Object> visibleConditions);
public abstract <K> boolean isVisible2(HashMap<K, Object> visibleConditions);
public abstract boolean isVisible3(EnumMap<?, Object> visibleConditions);
}
And the implementing class:
import java.util.EnumMap;
import java.util.HashMap;
public class Clazz extends AbstractClazz {
public enum Numbers {
ONE, TWO, THREE
}
@Override
public boolean isVisible(EnumMap<Numbers, Object> visibleConditions) {
return false;
}
@Override
public boolean isVisible2(HashMap<Numbers, Object> visibleConditions) {
return false;
}
@Override
public boolean isVisible3(EnumMap<Numnbers, Object> visibleConditions) {
return false;
}
}
Maybe I'm too stupid, but what am I doing wrong?
Can anybody help me?
source
share