Java 8, как проверить нулевые значения и получить список объектов? - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть код ниже, написанный на Java, и я хотел использовать его в Java 8. Как я могу это сделать?

Ниже приведен код в методе:

Query query = new Query();
query.fields().include("address");
query.fields().exclude("_id");

List<User> users = mongoTemplate.find(query, User.class);

List<Address> addresses = new ArrayList<>();
if(!users.isEmpty()) {
    for (Address address : addresses) {
        addresses.addAll(country.getSubaddress());
    }
}
return address;

в Java 8

List<List<Address>> values = countries.stream().filter(Objects::nonNull).map(x -> x.getAddresses()).collect(Collectors.toList());

Я хочу только список адресов. Как я могу это сделать?

1 Ответ

0 голосов
/ 04 апреля 2019

Это один из способов решения проблемы:

List<Address> addresses = Optional.ofNullable(users)
            .orElseGet(Collections::emptyList)
            .stream()
            .filter(Objects::nonNull)
            .flatMap(x -> x.getAddress().stream())
            .collect(Collectors.toList());
...