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

String("3") no lugar de um int ?

Sei que podemos fazer parsing, transformando uma String num int por exemplo, mas isso não teria que ser feito com o método parseInt() ?

4 respostas

Não sei se entendi corretamente sua dúvida, mas o parseInt() transforma String em int da seguinte forma:

String num = "12";
int x = Integer.parseInt(num);

Sempre me confundo. Mas, para transformar int em String, nós usamos o código abaixo:

int num = 10;
String expressao = Integer.toString(num);

Acho que com double também funciona:

double num = 10.0
String expressao = Double.toString(num);

Então, Maurício, a minha duvida foi em relação à construção desse tipo:

Integer idade= Integer. valueOf ("10");

Note que no construtor deveria ter um int e não uma String.

Mas eu escrevendo a mesma construção na IDE deu certo mesmo. Todavia, parece que não é o indicado, né?

solução!

Integer.parseInt() retorna um int (tipo primitivo) enquanto que Integer.valueOf() retorna um Integer (objeto wrapper imutável que "envolve" o tipo primitivo). A escolha vai depender do tipo de dado que você necessita (provavelmente na maioria dos casos vai ser Integer.parseInt()), lembrando que em operações repetitivas o boxing/unboxing (conversão de int para Integer e vice-versa) pode consumir um certo processamento.