То, что я ищу:
Я ищу, чтобы создать что-то, что принудительно вводит тип как для ключей, так и для значений карты: вроде как Map<Key<X>, Value<X>>
. Тем не менее, я хотел бы дополнительно обеспечить, чтобы типы соответствовали каждой записи ключа/значения, но между записями не нужно вводить тип.
Например, на той же карте эти пары ключ/значение должны считаться действительными:
-
Key<Integer>
отображается вValue<Integer>
-
Key<String>
отображается наValue<String>
-
Key<Double>
отображается наValue<Double>
Однако подобное недопустимо:
-
Key<Integer>
отображение вValue<String>
-
Key<Double>
отображение вValue<Boolean>
Как это сделать с использованием дженериков Java?
То, что я не ищу:
-
Я понимаю, что я могу реализовать что-то вроде
Set<Pair>
, где Пара принимает ключ/значение того же типа. Однако, глядя на это ключ больше не будет работать с постоянным временем. -
Я понимаю, что могу сделать что-то вроде
Map<Key<?>, Value<?>>
и просто утверждать, что ключ и значение одного типа во время выполнения. Тем не менее, мне было интересно, возможно ли это, строго используя дженерики.