1
resposta

Não deveria adicionar o valueOf?

Olá, aqui neste trecho utilizado na aula do vídeo, ele jogou valores primitivos dentro do arraylist, no caso, gostaria de saber, quando colocamos o number como genérico em nosso arraylist, não há necessidade de transformar o primitivo em referência/objeto? Pq?

List<Number> listanum = new ArrayList<>();
listanum.add(10);
listanum.add(32.6);
listanum.add(25.6f);

Também me questiono, primitivo é somente variáveis do tipo int num = 90, ou tb são aqueles valores sozinhos jogamos dentro do add (ex: 10)? seria qualquer valor que não seja um objeto?

1 resposta

Ola Jade.

No java 5.0 (antigao já), eles adicionaram um esquema chamado autoboxing, onde você pode jogar numeros primitivos em classes e vice-versa, tipo isso

Integer valor1 = new Integer(10); //classe normal
Integer valor2 = 10; //autoboxing

Pense em tipo primitivo como "o valor bruto na memoria". Assim, com tipo primitivo não temos nenhum tipo de função ou ação a ser feita com ele, mas a vantagem é que primitivo tem um espaço de memoria mais otimizado.

int valor = 10;
valor.algo() //nao pode, nao existe nada a ser feito, na memoria so tem o byte do 10
Integer valor = 10;
valor.toString(); //como é uma classe tem funções pra uso, ocupa mais bytes na memoria