Repaso
English
Java CoreIntermedioJV-20

¿Cuál es la forma recomendada de usar Optional<T>?

Opciones

  1. Llamar a optional.get() directamente cada vez que necesites un valor
  2. Como tipo de retorno para 'puede faltar', con orElse o map (Opción correcta)
  3. Usarlo siempre en cada campo y en cada parámetro de método
  4. 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.

Términos clave

Practica esta pregunta en Repaso