为什么我不能使用以下泛型创建地图?
Map<Class<K extends Item>, K> classMap;
Run Code Online (Sandbox Code Playgroud)
因为Map已经泛化 - 创建引用时的工作是填写类型参数.除非这是在参数化的方法中K,否则编译器将不知道K应该替换什么(并且如果它在参数化方法中,你不能K extends Item在体内 - K或者已经扩展Item,或者它没有).
新类型参数可以包含在类和方法的签名中,隐含的承诺是稍后将填充它们.他们不能进入声明.
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |