Как только вы используете Map
с различными типами значений (и даже ключами) (и еще хуже, вложенные карты).Тогда я предлагаю сделать шаг назад и попытаться проанализировать, что вы сделали.Кажется, с class
вы намного лучше, чем с Map
.Пример с вашими ключами:
class YourClass {
String a;
String b;
String c;
YourOtherClass d;
}
class YourOtherClass {
Integer d1;
Integer d2;
}
Я упустил геттеры, сеттеры и конструкторы для простоты.
Затем вы можете создавать экземпляры этих объектов, например так:
YourOtherClass yoc = new YourOtherClass(1, 2);
YourClass yc = new YourClass("1234", "2345", "3456", yoc);
А затем вызвать определенный метод получения, чтобы получить значение с типами безопасности:
String a = yc.getA(); // works
Integer i = yc.getA(); // doesn't work
Или установить новое значение через установщик:
yoc.setD1(4); // works
yoc.setD1("4"); // doesn't work