@subtenante에 추가하려면 Java가 항상 하위 호환성을 갖도록 설계되었습니다. Generics는 잘못된 유형의 put을 허용하지 않습니다. 이것은 하위 호환성을 손상시키지 않기 때문입니다. 올바른 키가 사용되고 있는지 확인하는 쉬운 방법은이 작업을 수행하는 것입니다.
K key = null;
V value = null;
Map<K,V> mapped = new HashMap<K,V>()
.......//set the key and value..........
mapped.put(key, value)
.....
V var = mapped.get(key);
문제가 해결되었습니다.
제네릭에 대한 한 가지 추가주의 사항으로, 클래스의 하위 항목도 컬렉션에 배치 할 수 있습니다.
Number k= null;
Number v= null;
Map<Number,Number> mapped = new HashMap<Number,Number>()
.......//set the key and value..........
k = double someDouble;
v = int someInt;
mapped.put(k, v)
.....
이로 인해 큰 버그가 발생할 수 있습니다 !!
[좋은 이유는 Map.get (Object key)가 (완전히) generic이 아닌 이유는 무엇입니까?] http://stackoverflow.com/questions/857420/what-are-the-reasons-why-map-getobject-key-is-notfully-generic) – NickDK