Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Возможно ли это в Java: Map‹SomeObject, Map‹SomeOtherObject››?

Автор вопроса: davekОтветов: 4

Возможно ли это в Java: Map<SomeObject, Map<SomeOtherObject>>? я пытаюсь Map<Integer, Map<String>> получить

"Неверное количество аргументов для типа Map; его нельзя параметризовать аргументами"

ошибка.

javatypes

Ответы

Ответ 1 · рейтинг 2 · cherouvim

Map сопоставляет ключи со значениями, поэтому Map<String> неверно. Так что вам нужно что-то вроде Map<String, Object>.

Ответ 2 · рейтинг 4 · Carl Smotricz

Каждый Map должен быть параметризован по двум типам; ваша вторая (вложенная) карта имеет только одну.

Ответ 3 · рейтинг 1 · sblom

Вам нужен второй аргумент для вашего второго Map<>. Возможно, вы имели в виду Map<Integer, Map<String, String>>?

Ответ 4 · рейтинг 1 · Lars Andren

Нет, не совсем так. Вам нужно указать тип как для Key, так и для Value для второго "внутреннего" Map, это нормально:

Map<SomeObject, Map<SomeOtherObject, Object>>

Так же, как с внешним Map, где Key - это SomeObject, а Value - это внутренний Map. Итак, если вы добавите спецификацию значения для внутреннего Map, это будет нормально.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы