"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como o tipo opcional do Java pode simplificar o tratamento de nulos em cadeias de chamadas "Get"?

Como o tipo opcional do Java pode simplificar o tratamento de nulos em cadeias de chamadas "Get"?

Publicado em 2024-11-08
Navegar:188

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

Navegando com segurança em cadeias de chamadas "Get" com opcionais

Na programação Java, é comum encontrar cadeias de chamadas "get", como o seguinte:

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

Para evitar potenciais NullPointerExceptions, os desenvolvedores geralmente recorrem a verificações nulas detalhadas:

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

Essa abordagem se torna ainda mais complicada com cadeias de chamadas mais longas. Existe uma solução mais elegante?

Sim, com a introdução do tipo Opcional no Java 8, o tratamento de nulos em cadeias de obtenção tornou-se significativamente mais fácil.

Usando Opcional para Tratamento de Nulos

Optional é uma classe wrapper que representa um valor opcional. Ele pode conter um valor não nulo ou estar vazio.

Para usar Opcional para tratamento nulo em cadeias de get, podemos utilizar seus recursos de encadeamento com o método map().

Considere o seguinte exemplo:

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

Este código cria uma cadeia de objetos opcionais, cada um representando o resultado da chamada get correspondente.

Benefícios do uso Opcional

Usar Opcional oferece vários benefícios:

  • Verificações nulas tratadas automaticamente: Opcional lida automaticamente com verificações de nulos, eliminando a necessidade de verificações de nulos explícitas em seu código.
  • Chamadas Get seguras: Se alguma das chamadas get retornar nulo, o Opcional correspondente estará vazio, evitando NullPointerExceptions .
  • API Fluente: Os recursos de encadeamento de Opcional fornecem uma maneira concisa e legível de lidar com nulos em cadeias de get.

Conclusão

Se você não conseguir evitar quebrar a Lei de Deméter, usar Opcional é uma abordagem altamente recomendada para navegar com segurança nas cadeias de "get " chama. Ele fornece uma maneira elegante e eficiente de lidar com nulos, garantindo a robustez e confiabilidade do seu código.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3