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


1 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

java hashmap exemple

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?



Related