如何使用 Stream API 将 Object 类型的实例映射到 Java 中的特定类

博内

我遇到了以下问题:

如果我将流中的对象映射到 Java 中的特定类,则 Java 流 API 在映射后无法识别特定对象,并且仍然假定它是对象。我做错了什么,有没有办法在没有潜在的类转换异常的情况下解决这个问题?

这是代码示例:

public class MyMapper {

        MyMapper() {
            Object someObject = new Person();
            final var listOfObjects = List.of(someObject);
            final var listOfPerson = toListOfPerson(listOfObjects);
        }

        List<Optional<Person>> toListOfPerson(Object object) {
            return ((List) object).stream()
                           .map(this::toPerson)
                           .collect(Collectors.toList());
        }

        Optional<Person> toPerson(Object object) {

            if (object instanceof Person) {
                return Optional.of((Person) object);
            }
            return Optional.empty();
        }

        public class Person {}
}
VeryNiceArgumentException

将其转换为类型化列表,然后您的.map(this::toPerson)将“接受”此列表的元素

List<Optional<Person>> toListOfPerson(Object object) {
            return ((List<Object>) object).stream()
                    .map(this::toPerson)
                    .collect(Collectors.toList());
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

以Object为键将Java Stream映射到Object的Map

如何使用jaxb将包含相同元素的不同类型的元素映射到单个java类objetc中

如何确定Kotlin类型何时将映射到Java类型?

如何使用Java 8 Stream API将特定对象移动到列表的开头?

将数据库类型映射到具体的Java类

潜在的api将内容类型映射到reactjs中的组件

使用JNA将const char **映射到Java类型

如何将操作码中ASM的API版本映射到Java版本?

使用泛型将接口类型映射到类

类不是从Spring Boot中的Get API Request映射的,如何映射到object>

在Java中,是否可以创建类的安全类型映射到其类的实例?

在C ++中如何将运行时类型标识符映射到模板实例(无需手动枚举所有实例)?

如何在Java Stream API中类型转换对象?

JAVA:如何使用对象包装实例将ArrayList初始化为特定的类类型?

如何将JSON映射到Java模型类

使用 GSON 将 JSON 响应映射到 Java POJO 类

使用Java中的Jackson将序列化具有不同类型值的映射到JSON

如何使用 java Stream API 从 Map<Object,Integer> 收集数据到 List<Object>?

将Java 8 Stream映射到元素的方法参考

使用 Java Stream API 对 List<Object> 进行排序

如何将Java类型全局映射到UserType和数据库类型?

如何将curl映射到Java okhttp中?

我如何将json映射到Java中

MapStruct:如何将属性从“ java.lang.Object映射到” java.lang.String”

使用 lambda 将增量映射到 Java 中的数组

将api调用映射到flutter中的模型类

如何将路径参数从API网关API映射到Java Lambda的请求对象

将特定类型映射到ElasticSearch索引

使用Hibernate将SQL列的varchar类型映射到Java的java.net.URL