java - ifpresent - ''Opcional.get()'' sin ''isPresent()'' check
optional lambda java (2)
Reemplace
get()
con
orElse(null)
.
Tengo el siguiente código de búsqueda en Java:
return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get();
Deseaba encontrar la columna por nombre y devolver la primera encontrada.
Entiendo que hay un caso en el que no se encuentra nada y debe procesarse, pero ¿cómo?
¿Es esto lo que quiere con este juramento:
''Optional.get()'' without ''isPresent()'' check
?
¿Como arreglar?
Deseo devolver
null
si no se encuentra nada.
ACTUALIZAR
Vale, vale, simplemente no me di cuenta de que
findFirst()
devuelve
Optional
.
...findFirst().orElse(null);
Devuelve el valor si está presente, de lo contrario devuelve
null
.
La documentación
orElse(null)
que el parámetro pasado puede ser
null
(lo que está prohibido para
orElseGet
y
orElseThrow
).