Atribuir valor a uma variável short

5 respostas
F

Bom dia pessoal!!

Gostaria de tirar uma dúvida com vocês. Agradeço desde já quem puder ajudar.

Tenho uma parte de um código em Java em que preciso atribuir um valor a uma variável de tipo short;

A questão é: Qual das duas formas é melhor para fazer essa atribuição?

a = Short.parseShort("1");

ou

a = (short) 1;

Eu acredito que seja a segunda forma, mas um colega meu levantou a questão de que é melhor usar o Short.parseShort.

Gostaria, então, da opinião de vocês.

Obrigado!

5 Respostas

B

Os dois são casos diferentes. O parseShort converte de String para short, o segundo caso converte de tipos primitivos para short.

F

Olá Bruno! Obrigado pela resposta.

Realmente, são casos diferentes, mas como estou explicitamente atribuindo um valor a uma variável short, tanto uma como a outra forma funcionam como desejado.

A questão é, qual das duas é melhor nesse caso?

Acho que trabalhar com um cast de um inteiro ao invés de dar parse numa string seria melhor, não?

Obrigado!

Marky.Vasconcelos

Ué… e voce não pode atribuir direto?

short x = 1;
B

fernandolobosp:
Olá Bruno! Obrigado pela resposta.

Realmente, são casos diferentes, mas como estou explicitamente atribuindo um valor a uma variável short, tanto uma como a outra forma funcionam como desejado.

A questão é, qual das duas é melhor nesse caso?

Acho que trabalhar com um cast de um inteiro ao invés de dar parse numa string seria melhor, não?

Obrigado!

Não tem melhor, a diferença é de onde você está começando. Se tiver uma string na mão, use o parse; se tiver um tipo numérico, atribuia o valor diretamente.

Faça o que der menos trabalho.

F

Mark_Ameba:
Ué… e voce não pode atribuir direto?

short x = 1;

Olá Mark!!

É, na verdade não foi um bom exemplo o que eu dei. No meu caso, é um set de uma classe.

Então, se faço, por exemplo:

a.setShort(1);

Ele dá erro dizendo que não é o argumento esperado (espera short e recebe int). Aí ele pede pra dar um cast no valor.

Acho que ficou mais claro agora. :thumbup:

Bem, se no quesito performance, consumo, etc, não há muita diferença, vou ficar com o cast mesmo, pelo menos fica mais bonito, na minha opinião. :slight_smile:

Obrigado!!

Criado 4 de maio de 2010
Ultima resposta 4 de mai. de 2010
Respostas 5
Participantes 3