Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Convenções e boas práticas sobre o uso de tipos booleanos

Existe uma convenção no mercado onde é notado como boa prática o uso da referência estática "Boolean.FALSE" (ou TRUE) ao invés de simplesmente "false" (ou true).

Existe algum ganho de performance nesse sentido, ou é apenas uma boa prática?

6 respostas
solução!

Gabriel, a ideia, quando se desenvolve com Java, é programar o máximo possível com as classes wrappers (Boolean, Integer, Long) ao invés dos tipos primitivos (boolean, int, long). Portanto, seria mais interessante usar Boolean ao invés de boolean. Com relação ao ganho de performance, acredito que, se tiver, deve ser insignificante, pois todo o código é compilado antes de ser executado pela JVM.

Obrigado!

Mais uma dúvida, os wrappers são tipo uma convenção/recomendação da comunidade?

Wrap em inglês significa envolver, então, wrappers são classes que envolvem. Elas acrescentam funcionalidades que os tipos primitivos naturalmente não possuem. As classes wrappers mais comuns são as que encapsulam tipos primitivos, assim , no caso do wrapper Integer, ele permite criar um objeto do tipo Integer que contém um tipo primitivo int.

Fui pesquisar mais sobre velocidade das classes wrappers e dos tipos primitivos. Encontrei as seguintes vantagens para os tipos primitivos:

  • são mais rápidos
  • consomem menos memória
  • permitem operações mais complexas
  • mais eficientes em laços e expressões
  • A J2SE 5.0 introduziu a ideia de empacotamento automático de tipos primitivos em seus objetos wrapper e vice-versa.

    Assim, você pode usar os wrappers que o Java vai cuidar de empacotar ou desempacotar os tipos primitivos, além de fornecer os recursos a mais das classes wrappers.

    O uso apenas de wrapper é uma boa prática, pois você estará trabalhando diretamente apenas com objetos.

    Opa, eu não sabia disso! Muito obrigado!

    Por nada, Gabriel!

    Bons estudos!

    Abraço.