Generics Java wymuszają ten sam typ kluczy i wartości mapy
Czego szukam:
Szukam konstruować coś, co wymusza typ zarówno na kluczach, jak i wartościach mapy: coś w rodzajuMap<Key<X>, Value<X>>
. Chciałbym jednak dodatkowo wymusić dopasowanie tych typóww ciągu każdy wpis klucz / wartość, alepomiędzy wpisy nie muszą być egzekwowane.
Na przykład na tej samej mapie te pary klucz / wartość należy uznać za ważne:
Key<Integer>
mapy doValue<Integer>
Key<String>
mapy doValue<String>
Key<Double>
mapy doValue<Double>
Jednak coś takiego byłoby nieprawidłowe:
Key<Integer>
mapowanie doValue<String>
Key<Double>
mapowanie doValue<Boolean>
Jak mogę to osiągnąć za pomocą generycznych programów Java?
Czego nie szukam:
Rozumiem, że mogę wdrożyć coś takiegoSet<Pair>
, gdzie para akceptuje klucz / wartość tego samego typu. Jednak przeglądanie tego po kluczu nie byłoby już stałą operacją czasu.
Rozumiem, że mógłbym zrobić coś takiegoMap<Key<?>, Value<?>>
i po prostu upewnij się, że klucz i wartość są tego samego typu w czasie wykonywania. Zastanawiałem się jednak, czy jest to możliwe przy użyciu generycznych.