【发布时间】:2015-06-26 16:32:03
【问题描述】:
如何在 Java 中定义这样的地图?
Map<Class<T extends myObject>, MyObjectConverter<T>>
问题在于两个参数中的T。 T 对于每个映射条目应该是不同的。但我希望地图仅限于“共享一个公共 T”的键值对
以下定义有效,但我认为必须有更好的方法 - 没有 CompilerWarnings:
Map<Class<? extends myObject>, MyObjectConverter>
【问题讨论】:
-
什么是
T?它在哪里声明? -
这就是重点:每个地图条目的 T 应该不同。但我希望地图仅限于“共享一个公共 T”的键值对
-
等一下。您希望每个条目的
T都不同吗? -
这是不可能的。对不起。
-
“每个地图条目的 T 应该不同。但我希望地图仅限于“共享一个公共 T”的键值对 - 你的已经描述过,而您使用导致警告的代码所破解的内容并不完全同步。您说您希望
T对每个键值都不同,但您希望那些T共享一个共同点超类(例如:E)。T的超类是实际的具体类,还是应该是可变的?