Natley:
Comment appeler orElse
quand dans l' une des map
étapes que j'obtenir la liste vide?
MyObj myObj = new MyObj();
myObj.setAaa("aaa");
myObj.setBbb("bbb");
List<MyObj> myObjects = Arrays.asList(myObj);
Optional<List<MyObj>> opt = Optional.ofNullable(myObjects);
List<MyObj> result = opt
// .filter(el -> !returnEmptyList().isEmpty(el))
.map(el -> returnEmptyList(el))
.map(...)
.map(...)
.orElse(myObjects);
Comment assurer que je vais atteindre orElse
quand dans mon map
étape , le résultat est une liste vide?
Approche avec mes travaux de pas de filtre , mais je ne veux pas appeler returnEmptyList()
deux fois.
aussi:
Si l' map
opération peut retourner une liste vide, vous pouvez placer un filter
avant orElse
que:
.map() // this can return an empty list
.filter(l -> !l.isEmpty())
.orElse(<return some default value>);
// if the list is empty, it would evaluate to Optional.empty() and return via orElse