元のキーの代わりに、渡されたキーの弱い参照をインデックスとして含む辞書キャッシュを構築しようとしています。
ソースは以下にあり、コンパイルに失敗する行が示されています。
このエラーを解決する適切な方法について助けが必要です。
public class ProxyWeakReference extends WeakReference{
public ProxyWeakReference(Object o, ReferenceQueue q)
{
super(o,q);
........
}
}
public class SafeQueueMap<K,V>{
ConcurrentMap<WeakReference<K>,V> d=new ConcurrentHashMap<ProxyWeakReference<K>,V>();
ReferenceQueue refQueue=new ReferenceQueue();
public void put(K k ,V v){
WeakReference<K> r=new ProxyWeakReference(k,refQueue);<==FAILS ON GENERIC PARAMETER
d.put(r,v);
}
......
......
}