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.

questionAnswers(1)

yourAnswerToTheQuestion