2017-01-21 6 views
0

С помощью дженериков является хорошей практикой в ​​парафирования HashMap и следующая инициализация работает отлично:Тип ошибки рассогласования в инициализации HashMap <String, HashMap <String, String >>

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

Почему у меня тип несовпадение ошибка в парафирования вложенных HashMaps:

Map<String,Map<String,String>> y = new HashMap<String,HashMap<String,String>>(); 
+0

использование подобный. Карта > y = new HashMap >(); –

+0

Зачем вам/нужна ваша структура данных? –

+0

Я использую эту структуру данных для обобщения моих SQL-запросов. – Noviff

ответ

1

Существует проблема с декларацией, пожалуйста, заменить выше заявление с ниже линии.

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

Если вы посмотрите на исключение, вы получите лучшую идею.

Type mismatch: cannot convert from HashMap<String,HashMap<String,String>> to Map<String,Map<String,String>> 

Он соответствует точному типу. Когда ваш тип может быть точно такого же типа. Вместо Map<String,String> вы должны использовать HashMap<String,String>

Если вы хотите попробовать другое дело, попробуйте также с нижней строкой.

Map<String,Map<String,String>> y = new HashMap<String,Map<String,String>>(); 
Смежные вопросы