私の使用を私のものに置き換えようとしていConcurrentHashMap
ますCaseInsensitiveConcurrentHashMap
。ただし、ハッシュマップをインスタンス化できません。私の実装を提供します。
ハッシュ マップ クラス - SO の質問に基づく: https://stackoverflow.com/a/8237007/850475
import java.util.concurrent.ConcurrentHashMap;
public class CaseInsensitiveConcurrentHashMap <T> extends ConcurrentHashMap<String, T>{
@Override
public T put(String key, T value) {
return super.put(key.toLowerCase(), value);
}
public T get(String key) {
return super.get(key.toLowerCase());
}
}
以下のコードは、新しいハッシュ マップでは機能しません。
public class tester {
private static ConcurrentMap<String, SomeClass> items = new CaseInsensitiveConcurrentHashMap<String, SomeClass>();
private static ConcurrentMap<String, CaseInsensitiveConcurrentHashMap<String, Collection<SomeClass2>>> tagMap = new CaseInsensitiveConcurrentHashMap<String, CaseInsensitiveConcurrentHashMap<String, Collection<SomeClass2>>>();
}
両方の行がtester
失敗します。これは私のエラーメッセージです:
Incorrect number of arguments for type CaseInsensitiveConcurrentHashMap<T>; it cannot be parameterized with arguments <String, Collection<SomeClass>>
私が試すことができるものについて何か考えはありますか?