Java opcional OrElse

Natley:

Cómo llamar orElsecuando en uno de los mappasos que consiguen la lista vacía?

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);

Cómo asegurarse de que voy a llegar orElsecuando en mi mappaso, el resultado es una lista vacía?

Acerco con mis obras de paso del filtro, pero no quiero que llamar returnEmptyList()dos veces.

también:

Si la mapoperación se puede devolver una lista vacía, se puede colocar un filterantes orElsecomo:

.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 

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=187169&siteId=1
Recomendado
Clasificación