Вы объявляете ограничения типа в сигнатуре метода, но в теле метода вы не получаете никаких преимуществ от использования ограничений типа.
То, что вы делаете, похоже на то, что вы используете HashMap .Вот почему ошибка компиляции.
Правильный код:
public void setExits(HashMap<Direction, Exit> e){
this.exits = e;
Iterator<Map.Entry<Direction, Exit>> it = e.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Direction, Exit> entry = it.next();
Exit r = entry.getValue(); // OK
}
}