Я создал свой HashMap следующим образом:
Map<String, Integer> myHashMap = new HashMap<String, Integer>();
Тип данных Key - String, поэтому, когда я пытаюсь вставить новую пару ключ-значение в карту, сохраняя Key как Integer, он выдает ошибку.
myHashMap.put(1L, "value");
Это означает, что в методе put они ограничивают тип данных Key. Но при получении значения с карты с помощью метода get он не проверяет тип данных Key. Так что, если я напишу что-то вроде этого, это не даст ошибку компиляции.
myHashMap.get(1L);
Я проверил метод get в интерфейсе Java Map и его тип параметра - Object, поэтому он разрешает использование любого Object в качестве аргумента метода put.
V get(Object key)
Есть ли способ, которым я могу ограничить тип данных, который я передаю в качестве аргумента в методе get?
Аргумент, который я передаю, должен иметь тот же тип данных, что и тип данных Key который я использую при создании своей хэш-карты.