java - 是否有特定的聚合操作将父类(super class)映射到子类?

标签 java lambda

是否有特定的聚合操作来将父类(super class)映射到子类?

我经常发现自己在执行以下操作:

list
.stream()
.map((A element) -> (SubClassA) element);

是否有一个操作可以执行与上面的 map 功能等效的操作,即获取值的 Stream 并将它们转换为子类?

最佳答案

我能想到的最简单的是:

Stream<X> stream1 = ...
Stream<SubClassA> stream2 = stream1.map(SubClassA.class::cast);

关于java - 是否有特定的聚合操作将父类(super class)映射到子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35385597/

相关文章:

c# - 如何从参数 Func<T, string>[] lambda 表达式中获取属性名称

c++ - QT C++ 如何调用lambda one?

java - 如何检查 EditText 是否具有特定文本/字符串

java - 如何将对象与 Date 变量进行比较(Hibernate)? java.util.Date 与 java.sql.Timestamp

java - 使用 session 作用域 Bean

java - 具有耗时信息的 CompletableFuture

java - lambda 表达式每次执行时都会在堆上创建一个对象吗?

amazon-web-services - 使用asp.net core的无服务器模板的aws lambda函数

java - 为什么此 PrettyTime 自定义标记会在 HTML 输出中的 "pretty"日期之前生成 11 行空白文本?

JMP 中的 Java 堆大小