Java 泛型对映射的键和值强制实施相同的类型
我正在寻找:
我希望构造一些东西,在映射的键和值上强制执行类型:有点像.但是,我还想强制在每个键/值条目中强制类型匹配,但在条目之间,不应强制执行任何类型。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<?>>