추상 메서드에서 일반 EnumMap을 매개 변수로 사용하려고했습니다. 내 문제는 EnumMap에 대한 기존 열거 형을 사용하여 추상 메서드를 구현할 때 컴파일러에서 Override Annotation을 제거하고 super 메서드를 구현해야한다는 것입니다. 여기추상 메서드에서 매개 변수로 일반 EnumMap을 사용하는 방법
내 추상 클래스입니다 :
import java.util.EnumMap;
import java.util.HashMap;
public abstract class AbstractClazz {
// The methode I tried to define
public abstract <K extends Enum<K>> boolean isVisible(EnumMap<K, Object> visibleConditions);
// second test
public abstract <K> boolean isVisible2(HashMap<K, Object> visibleConditions);
// third test
public abstract boolean isVisible3(EnumMap<?, Object> visibleConditions);
}
그리고 구현 클래스 :
import java.util.EnumMap;
import java.util.HashMap;
public class Clazz extends AbstractClazz {
public enum Numbers {
ONE, TWO, THREE
}
// Error: The method isVisible(EnumMap<Clazz.Numbers,Object>) of type Clazz must override or implement a supertype method
@Override
public boolean isVisible(EnumMap<Numbers, Object> visibleConditions) {
return false;
}
// Error: The method isVisible2(HashMap<Clazz.Numbers,Object>) of type Clazz must override or implement a supertype method
@Override
public boolean isVisible2(HashMap<Numbers, Object> visibleConditions) {
return false;
}
// Error: The method isVisible3(EnumMap<Numnbers,Object>) of type Clazz must override or implement a supertype method
@Override
public boolean isVisible3(EnumMap<Numnbers, Object> visibleConditions) {
return false;
}
}
어쩌면 스피 너무 바보지만, 내가 무슨 일을하고 있는가?
아무도 도와 줄 수 있습니까?
원시 형식으로 EnumMap's. 유형 매개 변수와 함께 올바르게 사용하십시오. –