DEV Community

Java Efetivo (livro)
Java Efetivo (livro)

Posted on

Elimine advertências não verificadas

Ao programar com genéricos, o compilador irá gerar advertências, tais como: cast não verificado, invocação método não verificado, conversões não verificadas, dentre outros.

Exemplo:

Image description

Para eliminar as advertências não verificadas, basta indicar que o parâmetro está presente, dentro do operador diamante (<>). O compilador deduzirá o parâmetro pelo tipo atual da variável.

Image description

Elimine todas as advertências não verificadas que conseguir;
Caso não consiga eliminar uma advertência, mas consiga comprovar que o código que a provocou é typesafe, utilize a anotação @SupressWarnings(“unchecked”) no menor escopo possível.

Até aqui créditos pra Carla Gama (DevsJavaGirls)

Resumo do resumo:

  • Ao usar generics, o compilador pode gerar advertências sobre cast não verificado, invocação de métodos não verificados, etc.
  • É possível eliminar a maioria das advertências não verificadas, como quando o compilador detecta um problema de tipos.
  • Algumas advertências podem ser mais difíceis de ser eliminadas, mas é importante eliminá-las para garantir a segurança de tipos.
  • Se não for possível eliminar uma advertência, mas for possível provar que o código é seguro, pode-se suprimir a advertência com a anotação @SuppressWarnings("unchecked").
  • A anotação SuppressWarnings deve ser usada no escopo mais restrito possível, preferencialmente em declarações de variáveis locais ou métodos pequenos.
  • Sempre que usar @SuppressWarnings("unchecked"), é importante adicionar um comentário explicando por que é seguro usar essa anotação.
  • Em resumo, as advertências não verificadas não devem ser ignoradas, pois podem resultar em ClassCastException em tempo de execução. É importante eliminá-las sempre que possível e, se não for possível, suprimi-las de forma cuidadosa e documentada.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay