Возможно ли это в Java: Map<SomeObject, Map<SomeOtherObject>>
? я пытаюсь Map<Integer, Map<String>>
получить
"Неверное количество аргументов для типа Map; его нельзя параметризовать аргументами"
ошибка.
Возможно ли это в Java: Map<SomeObject, Map<SomeOtherObject>>
? я пытаюсь Map<Integer, Map<String>>
получить
"Неверное количество аргументов для типа Map; его нельзя параметризовать аргументами"
ошибка.
Map
сопоставляет ключи со значениями, поэтому Map<String>
неверно. Так что вам нужно что-то вроде Map<String, Object>
.
Каждый Map
должен быть параметризован по двум типам; ваша вторая (вложенная) карта имеет только одну.
Вам нужен второй аргумент для вашего второго Map<>
. Возможно, вы имели в виду Map<Integer, Map<String, String>>
?
Нет, не совсем так. Вам нужно указать тип как для Key
, так и для Value
для второго "внутреннего" Map
, это нормально:
Map<SomeObject, Map<SomeOtherObject, Object>>
Так же, как с внешним Map
, где Key
— это SomeObject
, а Value
— это внутренний Map
. Итак, если вы добавите спецификацию значения для внутреннего Map
, это будет нормально.