Должно быть достаточно просто, но это сводит меня с ума!
Иметь HashMap с парой ключ: значение как Long: Dto соответственно.
Когда я отлаживаю, я вижу одну запись в Hashmap со значением Long в качестве ключа - но когда я пытаюсь получить get (), используя Key, я получаю ноль обратно.
Для следующего:
Map<Long, Dto> response = getMap();
System.out.println("Contents of HashMap: " + response);
System.out.println("Size of HashMap: " + response.size());
System.out.println("HashMap Keyset: " + response.keySet());
System.out.println("HashMap Contains: " + response.containsKey(19999984L));
System.out.println("HashMap Object: " + response.get(19999984L));
Я получаю следующий вывод:
Contents of HashMap: {19999984={productOptionId=19999984, amount={amount=20.99, currency=EUR}, pricingType=MSRP}}
Size of HashMap: 1
HashMap Keyset: [19999984]
HashMap Contains: false
HashMap Object: null
Любые предложения будут оценены здесь ... это должно работать наверняка!
Может быть, я упускаю что-то очевидное.
Ответ: Похоже, что мое значение ключа имеет строковый тип - как показано ниже:
System.out.println("Contents of HashMap: " + response);
System.out.println("Size of HashMap: " + response.size());
System.out.println("HashMap Keyset: " + response.keySet());
System.out.println("HashMap Contains: " + response.containsKey("19999984"));
System.out.println("HashMap Object: " + response.get("19999984"));
System.out.println("HashMap Class: " + response.getClass());