Impossible de convertir un HashMap <String, String> en une interface qui étend Map <String, String> [java]


Answers

HashMap implémenté l'interface Map mais n'a pas implémenté votre interface IParams même si vous avez dérivé une interface dérivée de Map , vous ne pouvez pas la IParams en IParams car ce n'est pas un type d' IParams

Question

C'est probablement un simple malentendu de ma part.

Avoir une interface simple:

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

Ensuite, j'essaie d'utiliser:

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

Passe la syntaxe et compile mais à l'exécution j'obtiens:

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

Avez-vous une idée de l'endroit où mon incompréhension des génériques est dans ce cas?