java - ¿Cuál es la mejor manera de usar el Opcional en condiciones?
java-8 (1)
Ya escribí el código, pero creo que podría haber una mejor manera de escribir el siguiente código,
Esto debe ser posible solo desde Java 8
private User getUser(String userId) {
Optional<User> optionalUser = userDAO.getUserById(userId);
if(optionalUser.isPresent())
return optionalUser.get();
throw new UserDefinedException("User not present");
}
Espero escribir lo anterior en una línea
Puede usar
orElseThrow
, que devolverá el valor si está presente o lanzará la excepción especificada si no:
private User getUser(String userId) {
return userDAO.getUserById(userId)
.orElseThrow(() -> new UserDefinedException("User not present"));
}