我遇到了以下问题:
如果我将流中的一个对象映射到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 {}
}