É considerado uma boa prática substituir nossos atributos de tipo primitivos pelos do tipo Wrapper? Isto é, usar somente do tipo Wrapper?
É considerado uma boa prática substituir nossos atributos de tipo primitivos pelos do tipo Wrapper? Isto é, usar somente do tipo Wrapper?
Boa noite Matheus.
Normalmente utiliza-se os tipo primitivos, mas isso pode variar conforme a situação.Como é demonstrado na aula os Wrappers são utilizados para indicar o tipo primitivo como objeto, isso é util pois permite que você passe ele para métodos ou conjuntos, como a List, que recebem apenas objetos, outra utilidade dos Wrappers é a possibilidade de realizar o parsing.
Oi Matheus, tudo bem?
Embora os wrappers estejam mais alinhados ao conceito de Orientação a Objetos, a escolha do que utilizar para seguir as boas práticas varia dependendo da situação. Por uma questão até de performance, a ideia mais aceita é dar preferência a tipos primitivos, usando wrappers apenas quando necessário.
Nesse exemplo, foram feitas buscas em um array com 5 milhões de elementos, sendo todos iguais com exceção do último. Comparando a performance de tipos primitivos com classes wrappers fica claro a diferença de performance, mesmo se tratando de uma tarefa simples.
Fonte: https://www.baeldung.com/java-primitives-vs-objects
Mas, então, em quais situações é recomendável usar tipos primitivos e em quais devemos usar wrappers?
Tipos primitivos, quando:
Classes wrapper, quando:
Como eu disse anteriormente, varia de situação para situação, e você poderá encontrar programadores com opiniões diferentes, portanto o melhor a se fazer é analisar a situação antes de fazer sua escolha. Mas só esclarecendo, deixar o programa fazer uso do Autoboxing e Unboxing, dependendo do caso, podem afetar a performance do programa, embora casos como esse sejam bem mais relevantes quando tratamos de programas que exigem esse foco na velocidade de processamento.
Espero ter ajudado, qualquer dúvida é só avisar!
Bons estudos!!