Словарь инстанцийв Java ошибка - PullRequest
33 голосов
/ 08 января 2011

В C #

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

В Java это ошибки с

Не удается создать экземпляр типа Dictionary

Что может быть не так?

В моем коде это следует за

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

Я знаю, это звучит слишком тривиально.Но я в растерянности!
Если Словарь не делает этого (что я сейчас сильно подозреваю), то какую DataStructure использовать.

Ответы [ 4 ]

72 голосов
/ 08 января 2011

Dictionary - абстрактный класс в Java. Это также устарело; вместо этого вы должны использовать интерфейс Map; что-то вроде:

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

Обратите внимание, что HashMap<K,V> - это конкретный класс, но мы присваиваем ему ссылку Map<K,V>, которая является интерфейсом. Это рекомендуемый стиль в Java, потому что он позволяет вам переключать HashMap, например, Hashtable на более поздней стадии, без необходимости все менять.

4 голосов
/ 08 января 2011

Используйте HashMap следующим образом:

Map<String, String> dictionary = new HashMap<String, String>();
2 голосов
/ 08 января 2011

Словарь - это абстрактный класс, используйте Hashtable

0 голосов
/ 17 октября 2017

Словарь - это устаревший класс.То же самое можно сделать с помощью hashmap или concurrentHashMap (если требуется синхронизация Java 8)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...