web-dev-qa-db-fra.com

Instancier le dictionnaire <T, U> en erreur Java

En C #

Dictionary<String, String> dictionary = new Dictionary<String, String>();

En Java, cette erreur avec 

Impossible d'instancier le type dictionnaire

Quel pourrait être le problème?

Dans mon code, cela suit avec 

dictionary.put("vZip", jsonUdeals.getString("vZip"));

Je sais que cela semble trop trivial. Mais je suis perdue!
Si Dictionary ne le fait pas (ce que je soupçonne fortement maintenant), alors quelle DataStructure utiliser.

32
naveen

Dictionary est une classe abstraite en Java. Il est également obsolète. vous devriez plutôt utiliser l'interface Map; quelque chose comme:

Map<String,String> map = new HashMap<String,String>();

Notez que HashMap<K,V> est une classe concrète, mais nous l'attribuons à un Map<K,V> reference, qui est une interface. C'est le style recommandé en Java, car il vous permet de changer HashMap par exemple. Hashtable à un stade ultérieur, sans avoir à tout changer.

70

Utilisez un HashMap comme suit:

Map<String, String> dictionary = new HashMap<String, String>();
4
vtx

Le dictionnaire est une classe abstraite, utilisez Hashtable

2
kinnou02

Le dictionnaire est une classe héritée. La même chose peut être réalisée avec hashmap ou ConcurrentHashMap (si la synchronisation est requise Java 8)

0
Nesan Mano