java java-8

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