Невозможно преобразовать HashMap в интерфейс, расширяющий Map

Вероятно, это простое недоразумение с моей стороны.

Иметь простой интерфейс:

public interface IParams extends Map<String,String> {
}

Затем я пытаюсь использовать:

IParams params = (IParams) new HashMap<String,String>();

Проходит синтаксис и компилируется, но во время выполнения я получаю:

java.lang.ClassCastException: java.util.HashMap cannot be cast to com.foobar.IParams

Любое понимание того, где мое непонимание дженериков в этом случае?

5
задан Matt Thompson 28 June 2012 в 14:22
поделиться