このシナリオを想像してみましょう - Java で TreeMap を使用したいと思います。これは、Colletions フレームワークの一部であり、SortedMap インターフェイスの唯一の実装です。
public class MyDictionary extends TreeMap<String, String> {
// some code
}
Dictionary クラスに格納されているエントリを確認するには、Map.Entry の型が必要です。コードのどこかに (MyDictionary クラスのメソッド、またはデータを保持する MyDictionary クラスの変数を含むラッパー クラスのメソッドである可能性が高い) のようなものがあります。
public void showEntries() {
for (Map.Entry<String, String> e : dictionary) {
System.out.println(e.getKey(), e.getValue()); // do something
}
}
そして今、質問: Map.Entry のジェネリック型を TreeMap 用に宣言されたジェネリック型にバインドする方法はありますか?
目標は、ジェネリック型を 1 か所だけで定義することです。
TreeMap に保持されているデータの型を後で変更することにした場合、それらの型を使用したすべての場所を検索する必要はありません。
上記の例は概念実証です。助けてください。