Я создал свой 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
который я использую при создании своей хэш-карты.