2015-10-01 3 views
-3

Мне интересно, как я могу создать пустую карту наборов в Java.Как я могу объявить указатель на карту <String, Set <String>>?

Прямо сейчас, я пытаюсь сделать это следующим образом, но столкнулся с статической ошибкой.

Map<String, Set<String>> MapOfSets = new HashMap<String, Set<String>()>; 

Каков правильный синтаксис для этого?

ответ

1

Синтаксис для создания нового экземпляра является new ClassName<generic spec>([arguments]). Даже если вы не хотите передавать какие-либо аргументы конструктору, вам все равно нужно использовать круглые скобки. В вашем коде есть опечатка - список аргументов должен прийти после угловых скобок, а не внутри них.

Map<String, Set<String>> mapOfSets = new HashMap<String, Set<String>>(); 

Обратите внимание, что с Java 7 вы можете использовать пустые угловые скобки ("the diamond"), и позволяют Java вывести аргументы шаблонного типа без необходимости повторить их как в замедлении и создания нового экземпляра:

Map<String, Set<String>> mapOfSets = new HashMap<>(); 
0

Вам не хватает круглых скобок. Map<String, Set<String>> MapOfSets = new HashMap<String, Set<String>>();

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