我遇到了以下问题:
如果我将流中的对象映射到 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 {}
}
将其转换为类型化列表,然后您的.map(this::toPerson)将“接受”此列表的元素
List<Optional<Person>> toListOfPerson(Object object) {
return ((List<Object>) object).stream()
.map(this::toPerson)
.collect(Collectors.toList());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句