Opinião de todos sobre essa forma de conversão para String!

8 respostas
D

Boa tarde pessoal,

Gostaria da opinião de vocês para saber o que vocês acham sobre essa forma de conversão de por exemplo um inteiro para String:

int x = 5;

String teste = "" +x;

Isso é correto?! Consome mais do que se eu fizesse um toString?!? Pode acarretar futuros problemas?!?! É muita gambiarra ou nem tanto?!?

Gostaria muito da opinião de todos!!

Obrigado e até mais…

Fernando Vieira

8 Respostas

peczenyj

é feio…

D

Ola amigo!!!

Eu também acho, mas fora isso tem algum problema ou desvantagem?!?

Obrigado e até mais…

Fernando Vieira

T

Depende do seu chefe. Se ele for chato, vai lhe perseguir até a morte porque você não fez as coisas do jeito “best practices” (não importa muito quais sejam as “best practices” - são aquelas coisas que alguém recomendou fazer, e você faz não sabe por quê - na verdade você até sabe: porque seu chefe mandou).
A dica é: escreva um benchmark antes de perguntar.

D

Ola!!

Ah entendi, mas eu digo em questão de queda de desempenho, desvantagens, etc. não existe mesmo né?!?!?

Obrigado e até mais…

Fernando Vieira

ramilani12

Há diferença de processamento em usar esse método ?

int x = 5;
 
 String teste = String.valueOf(x);
T

Bom, “” + x vai fazer o seguinte:

a) Cria um objeto StringBuilder
b) Inicializa-o com o conteúdo da string “”
c) Chama o método StringBuilder.append (int), que faz a conversão
d) Chama o método StringBuilder.toString, que cria uma nova string a partir do conteúdo do StringBuilder. (Você sabia que o compilador Java faz tudo isso para compilar o operador “+” quando se usam strings?)

Integer.toString(x) faz o seguinte:
a) Chama o método Integer.toString (int), que faz a conversão e cria uma nova string.

String.valueOf(x) faz mais ou menos a mesma coisa que Integer.toString(x), portanto pode ser usada em lugar de Integer.toString(x).

Só de ler a seqüência descrita de operações, você pode verificar “” + x é bem mais ineficiente que Integer.toString(x). Sacou?

T

No entanto, não condeno o uso de “+” para concatenar strings.

De fato pode até ser mais eficiente que o uso explícito do StringBuffer que se vê por aí, se for feito com critério (por exemplo, sem ser dentro de um loop).

É que quando existe uma alternativa que é sabidamente mais rápida, use-a - para evitar reclamação daqueles chefes chatos que leram o artigo da Java Magazine escrito pelo Osvaldo Doederlein sobre desempenho.

D

Ola pessoal!

Beleza, e obrigado por terem postado aqui no GUJ!

Até mais…

Fernando Vieira

Criado 20 de julho de 2006
Ultima resposta 21 de jul. de 2006
Respostas 8
Participantes 4