Capítulo 6. El tipo opcional

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Sigh, ¿por qué todo lo relacionado con Optional tiene que llevar 300 mensajes?

Brian Goetz, lista de correo lambda-libs-spec-experts (23 de octubre de 2013)

La API de Java 8 introdujo una nueva clase llamada java.util.Optional<T>. Aunque muchos desarrolladores suponen que el objetivo de Optional es eliminar NullPointerExceptions de tu código, ése no es su verdadero propósito. En cambio, Optional está diseñada para comunicar al usuario cuándo un valor devuelto puede ser legítimamente nulo. Esta situación puede darse cuando un flujo de valores se filtra por alguna condición que resulta que no deja ningún elemento.

En la API Stream, los siguientes métodos devuelven un Optional si no quedan elementos en el flujo: reduce, min, max, findFirst, findAny.

Una instancia de Optional puede estar en uno de estos dos estados: una referencia a una instancia de tipo T, o vacía. El primer caso se denomina presente, y el segundo vacío (por oposición a null).

Advertencia

Aunque Optional es un tipo de referencia, nunca se le debe asignar un valor de null. Hacerlo es un error grave.

Este capítulo examina las formas idiomáticas de utilizar Optional. Aunque es probable que el uso adecuado de Optional sea una animada fuente de discusiones en tu empresa,1 la buena noticia es que existen recomendaciones estándar para su uso adecuado. Seguir estos principios ...

Get Recetas Java modernas now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.