我一直在尝试创建一个HashMap
包含 2 个键的自定义。用户使用两个参数K
和V
. 该类由 2 个组成HashMaps
:本机扩展<Integer, V>
和密钥存储<K, Integer>
。所以基本上,每个值都有 2 个键:K
和Integer
.
当用户想要获取一个物品时,他可以使用K
key或者Integer
key来获取。因此,例如,如果用户使用,K
则系统会查找keyTable
具有此类键的整数,然后使用它Integer
来查找值V
public class KeyMap<K, V> extends ConcurrentHashMap<Integer, V> {
private HashMap<K, Integer> keyTable = new HashMap<K, Integer>(10);
@Override
public V get(Object key) {
if (key instanceof V) {
return super.get(keyTable.get(key));
}
return super.get(key);
}
}
但是,我以前从未进行过参数化,因此我无法理解问题所在 - 我正在Cannot perform instanceof check against type parameter V. Use instead its erasure Object instead since further generic type information will be erased at runtime
上线if (key instanceof V) {
。
有没有可能实现我想要的系统?