"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puede el tipo opcional de Java simplificar el manejo de valores nulos en cadenas de llamadas \"Get\"?

¿Cómo puede el tipo opcional de Java simplificar el manejo de valores nulos en cadenas de llamadas \"Get\"?

Publicado el 2024-11-08
Navegar:682

How Can Java\'s Optional Type Simplify Handling Nulls in Chains of \

Navegación segura por cadenas de llamadas "Get" con opciones opcionales

En la programación Java, es común encontrar cadenas de llamadas "get", como el siguiente:

house.getFloor(0).getWall(WEST).getDoor().getDoorknob();

Para evitar posibles NullPointerExceptions, los desarrolladores suelen recurrir a comprobaciones nulas detalladas:

if (house != null &&& house.getFloor(0) &&& house.getFloor(0).getWall(WEST) != null &&& house.getFloor(0).getWall(WEST).getDoor() != null) ...

Este enfoque se vuelve aún más difícil de manejar con cadenas de llamadas más largas. ¿Existe una solución más elegante?

Sí, con la introducción del tipo Opcional en Java 8, el manejo de valores nulos en cadenas de get se ha vuelto significativamente más fácil.

Uso de Opcional para el manejo de nulos

Opcional es una clase contenedora que representa un valor opcional. Puede contener un valor no nulo o estar vacío.

Para usar Opcional para el manejo de nulos en cadenas de get, podemos utilizar sus capacidades de encadenamiento con el método map().

Considere el siguiente ejemplo:

Optional.ofNullable(house)
        .map(house -> house.getFloor(0))
        .map(floorZero -> floorZero.getWall(WEST))
        .map(wallWest -> wallWest.getDoor())
        .map(door -> wallWest.getDoor());

Este código crea una cadena de objetos opcionales, cada uno de los cuales representa el resultado de la llamada get correspondiente.

Beneficios del uso Opcional

El uso de Opcional ofrece varios beneficios:

  • Cheques nulos manejados automáticamente: Opcional maneja automáticamente las comprobaciones nulas, eliminando la necesidad de comprobaciones nulas explícitas en su código. NullPointerExceptions.
  • API fluida: Las capacidades de encadenamiento de Opcional proporcionan una forma concisa y legible de manejar valores nulos en cadenas de gets.
  • Conclusión

Si no puedes evitar infringir la Ley de Demeter, usar Opcional es un enfoque muy recomendado para navegar de forma segura en cadenas de "obtener". " llamadas. Proporciona una forma elegante y eficiente de manejar valores nulos, garantizando la solidez y confiabilidad de su código.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3