En una de mis clases tengo...
public Class<? extends Map<K, V>> getObjectType() { return (Class<? extends Map<K, V>>) Map.class; }Qué está mal con este código
sigo recibiendo
error: incompatible types: Class <Map> cannot be converted to Class<extends Map<K,V>> return (Class<? extends Map<K, V>>) Map.class;Alguien me puede apuntar en la dirección correcta
K y V no son tipos reales y, de todos modos, se borrarían mediante el borrado de tipos. Solo usa Mapa. Y no hay necesidad de lanzar. Solo envía a un tipo más específico y Map.class es una instancia de Class<? extends Map> .
public Class<? extends Map> getObjectType() { return Map.class; }otros ejemplos usando tipos compatibles:
public Class<? extends Map> getObject1Type() { return HashMap.class; } public Class<? extends Map> getObject2Type() { return LinkedHashMap.class; }