java:将T的集合转换为扩展T的类型的集合

我有一个List<MyClass>。我碰巧知道该列表中的每个对象都是MySubClass的实例,该实例扩展了MyClass。我的问题是将List<MyClass>转换为List<MySubClass>的最佳方法是什么。我当前的解决方案是:

List<MySubclass> subList = new ArrayList<>();

for (MyClass o : list) {
  subList.add((MySubClass) o);
}

这会引发未经检查的强制转换警告,但是可以,因为正如我所说,可以确定每个对象都是可转换的。我想知道是否有更好的方法可以做到这一点?不幸的是,由于我无法控制界面,因此无法更改原始list的类型。

我想用lambda做到这一点,但是除了使用mapmapToInt之外,我找不到让mapToDouble返回其他类型的列表的方法或者其他的东西。显然没有mapToMySubClass,而且我找不到通用的mapToType<T>

masterCow 回答:java:将T的集合转换为扩展T的类型的集合

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3158290.html

大家都在问