¿Cuál es la forma recomendada de usar Optional<T>?
Opciones
- Llamar a
optional.get()directamente cada vez que necesites un valor - Como tipo de retorno para 'puede faltar', con
orElseomap(Opción correcta) - Usarlo siempre en cada campo y en cada parámetro de método
- Usarlo como forma de hacer thread-safe una clase en Java
Respuesta
Úsalo como tipo de retorno para "puede faltar", y usa orElse, orElseThrow, map en lugar de get() sin comprobar
Por qué
Optional<T> es una caja que puede contener un valor o no. Hace visible en la firma del método que "esto puede faltar", en lugar de devolver null y esperar que quien llama se acuerde de comprobarlo.
Buen uso: repo.findById(id).map(User::getName).orElse("unknown") o .orElseThrow().
Mal uso: llamar a .get() sin comprobar (lanza una excepción si está vacío), o usar Optional en campos y parámetros.
Recuerda
Optional es para valores de retorno; evita get() sin comprobar.