我一直在尝试创建一个HashMap包含 2 个键的自定义。用户使用两个参数K和V. 该类由 2 个组成HashMaps:本机扩展<Integer, V>和密钥存储<K, Integer>。所以基本上,每个值都有 2 个键:K和Integer.
当用户想要获取一个物品时,他可以使用Kkey或者Integerkey来获取。因此,例如,如果用户使用,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) {。
有没有可能实现我想要的系统?