【发布时间】:2020-12-03 16:05:45
【问题描述】:
所以我正在尝试使用 Java 8 流将 Set of Parent 转换为 List of Child。
这里是父类:
public class Parent<T extends GenericModel> {
private String href;
private String rel;
private String title;
private ResourceStatus status;
private Parent source;
}
这里是子类:
public class Child extends Parent<SomeClass> {
private String category;
private String type;
}
现在我已经有了Set<Parent<SomeClass>>,我想将其转换为List<Child>。我不想走原始的方式,而是使用 Java 8 流来实现这一点。
感谢任何帮助。
【问题讨论】:
-
Set<Parent>中的元素是否保证都是Child实例? -
@Holger : 是的
Set<Parent>保证是所有Child实例 -
您能在 child 中显示您需要哪些字段吗?你在父母身上有什么?
-
你能用代码更新帖子吗?用示例输入和预期输出@Kusum
-
那么,这些字段就完全不相关了。您可以使用 Stream 变体得到答案,但只需考虑像
List<Child> listOfChild = Arrays.asList(setOfParent.toArray(new Child[0]));这样的简单检查复制操作的“原始方式”它仅在所有元素的类型为Child时才有效,但是,它是最简单和最有效的变体......
标签: java-8 java-stream