Ваша карта total
, содержащая карты с неодинаковыми типами значений, лучше избегать.Вопрос в том, что когда вы извлекаете карту в "key1"
, а затем приводите ее к карте строк, почему вы выбрали String
?
Самой тривиальной причиной может быть то, что key1
и т. Д. Являются просто константами, что вы знаете их все, когда пишете свой код.В этом случае у вас, вероятно, должно быть val
для каждой из ваших карт, и полностью отказаться от карты карт.
Возможно, что звонки, сделанные клиентским кодом, обладают этими знаниями.Скажем, что клиент выполняет stringMap ("key1") или intMap ("key2") или что так или иначе, вызов подразумевает, что ожидается некоторый данный тип.Это клиент несет ответственность за не смешивание типов и имен.Опять же, в этом случае нет оснований для общего.У вас была бы карта строковых карт, карта целых карт (при условии, что вы уже знакомы с ограниченным числом типов значений)
По какой причине вы имеете общее количество?