【发布时间】:2009-10-30 16:50:19
【问题描述】:
假设类 B 扩展类 A。我有一个List<A>,我碰巧知道只有包含B 的实例。有没有办法可以将List<A> 转换为List<B>?
似乎我唯一的选择是遍历集合,一次投射一个元素,创建一个新集合。这似乎完全浪费了资源,因为类型擦除在运行时完全没有必要。
【问题讨论】:
-
谢谢大家的好答案。在这种情况下,强制转换为列表是最合适的解决方案。在这种情况下,我愿意为性能牺牲类型安全。
标签: java generics collections casting type-erasure