【发布时间】:2014-03-05 08:55:03
【问题描述】:
我不明白为什么在尝试执行此操作时会收到警告(未经检查的强制转换):
...
Map<? estends SomeType, SomeOtherType> map;
...
Map<SomeType, SomeOtherType> castedMap = (Map<SomeType, SomeOtherType>) map;
...
我的意思是,将 castedMap 发布到外部代码有什么危险? 这两个操作都将在运行时完美运行:
- 使用 SomeType 类型的键从 castedMap 中获取元素
- 使用 SomeType 类型的键将元素放入 castedMap。
我会简单地使用 @SuppressWarnings("unchecked") 来抑制警告。
【问题讨论】: