Obtener arroyo con cheque vacía y característica para utilizar OrElse () y orElseThrow () para las colecciones

Farrukh Chishti:

Optional.ofNullable()Los cheques sólo para los nullvalores y CollectionUtils.isNotEmpty()no devuelve un arroyo. ¿Hay una manera de combinar estas dos características.

Algo como esto-

Collection.isNotEmpty(entries)
                .orElseThrow(() -> new Exception("exception"))
                .stream()

En lugar de-

Optional.ofNullable(entries)
                .orElseThrow(() -> new Exception("exception"))
                .stream()
Lino:

Simplemente puede utilizar filter()para comprobar que no está vacío

Optional.ofNullable(entries)
    .filter(e -> !e.isEmpty())
    .orElseThrow(() -> new Exception("exception"))
    .stream()

En cuanto a su comentario que desea eliminar los nullvalores de la propia corriente puede usar esto:

Optional.ofNullable(entries)
    .filter(e -> !e.isEmpty())
    .orElseThrow(() -> new Exception("exception"))
    .stream()
    .filter(Objects::nonNull)

Supongo que te gusta

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