Создание словаря <T, U> в ошибке Java
В С#
Dictionary<String, String> dictionary = new Dictionary<String, String>();
В Java эти ошибки с помощью
Невозможно создать экземпляр типа Словарь
Что может быть неправильным?
В моем коде это следует с помощью
dictionary.put("vZip", jsonUdeals.getString("vZip"));
Я знаю, это звучит слишком тривиально. Но я в недоумении!
Если Словарь не делает этого (к которому я сейчас сильно подозреваю), то какой DataStructure использовать.
Ответы
Ответ 1
Dictionary
- абстрактный класс в Java. Он также устарел; вы должны использовать интерфейс Map
; что-то вроде:
Map<String,String> map = new HashMap<String,String>();
Обратите внимание, что HashMap<K,V>
- это конкретный класс, но мы назначаем его Map<K,V>
ссылка, которая является интерфейсом. Это рекомендуемый стиль в Java, поскольку он позволяет вам переключаться HashMap
на, например. Hashtable
на более позднем этапе, без необходимости изменять все.
Ответ 2
Используйте HashMap следующим образом:
Map<String, String> dictionary = new HashMap<String, String>();
Ответ 3
Словарь - это абстрактный класс, используйте Hashtable
Ответ 4
Словарь - это унаследованный класс. То же самое можно сделать с помощью hashmap или
concurrentHashMap (если требуется синхронизация Java 8)