Transformar inteiro em String

17 respostas
C

Olá pessoal!

Preciso pegar um valor de uma variável inteira e jogar para um JtextField, mas o Java não aceita tenho que transformar de inteiro para String. Como devo fazer?

Pois só sei transformar de String para inteiro
(int numero1=Integer.parseInt(num1);), mas não sei fazer o contrario!

Obrigado!

Cristiano

17 Respostas

jgbt

a maneira mais raapida e simples:

String s = ""+123;

[]'s

C

Valeu cara!

chew

Integer.toString( valor )

aborges
String.valueOf(valor);
iSoron

jgbt:
a maneira mais raapida e simples:

String s = ""+123;

Isso é bem ineficiente…
Pode até usar se for uma unica vez.

[]'s
iSoron.

agnm

que tal assim:

new Integer(int).toString();

T

Parece um concurso de como converter um int em uma String.

Credo, daqui a pouco vai ter um cara que vai pôr um código como:

public class Util {
     /** Converte um int para uma String, na marra */
     public static String toString(int x) {
          ... aqui vai aquele código que pega x, divide por 10, pega o resto
           .... da divisão etc.
     }
}
jgbt

iSoron:
jgbt:
a maneira mais raapida e simples:

String s = ""+123;

Isso é bem ineficiente…
Pode até usar se for uma unica vez.

[]'s
iSoron.

concordo, so que eu não falei que era efficiente…
acho que p/ quem ta começando na linguagem, como nosso amigo, com certeza deve servir…

[]'s

cv1

Ja que eh assim, aqui vai o metodo mais eficiente e, de quebra, legivel:

String.valueOf(inteiro)
fzampa

Porque que 123+"" não é eficiente? O que acontece?

T
class Test203 {
    public static void main(String[] args) {
        String s = 123 + ""; // 1
        String t = String.valueOf(123); // 2
        int x = 123;
        String u = x + ""; // 3
    }
}

No caso 1, o compilador é suficientemente esperto para perceber que 123 é uma constante, “” é uma constante, o resultado é do tipo String, portanto 1 equivale a String s = “123”.

No caso 2, que é o recomendado, o compilador chama apenas a rotina valueOf, que cria o mínimo possível de objetos (uma String e seu char[] associado).

No caso 3, que é o que o pessoal diz que é ineficiente, o compilador gera o código equivalente a:

StringBuffer sb = new StringBuffer();
sb.append (x); // StringBuffer.append(int) é que faz a tal conversão de inteiro para caracteres, neste caso.
sb.append ("");
String u = sb.toString();

Ou seja, uma linha no original é compilada para 4 linhas no código final, criando um objeto a mais (uma StringBuffer).
(No Java 5.0 o código é quase o mesmo, só que usa a classe StringBuilder em vez de StringBuffer.)

C

Valeu Pessoal!

Acabei aprendendo duas maneiras de fazer esta transformação

Muito Obrigado a todos

Cristiano

fzampa

thingol:
class Test203 { public static void main(String[] args) { String s = 123 + ""; // 1 String t = String.valueOf(123); // 2 int x = 123; String u = x + ""; // 3 } }

No caso 1, o compilador é suficientemente esperto para perceber que 123 é uma constante, “” é uma constante, o resultado é do tipo String, portanto 1 equivale a String s = “123”.

No caso 2, que é o recomendado, o compilador chama apenas a rotina valueOf, que cria o mínimo possível de objetos (uma String e seu char[] associado).

No caso 3, que é o que o pessoal diz que é ineficiente, o compilador gera o código equivalente a:

StringBuffer sb = new StringBuffer();
sb.append (x); // StringBuffer.append(int) é que faz a tal conversão de inteiro para caracteres, neste caso.
sb.append ("");
String u = sb.toString();

Ou seja, uma linha no original é compilada para 4 linhas no código final, criando um objeto a mais (uma StringBuffer).
(No Java 5.0 o código é quase o mesmo, só que usa a classe StringBuilder em vez de StringBuffer.)

Também entendi tudo, beleza!

Michele

:stuck_out_tongue: OBRIGADA GENTE…
EU TB TINHA ESSA DÚVIDA E PUDE EXTERMINÁ-LA!
AGRADECIDA.

brunnoboni

existe um metodo booleano para passar de inteiro para String???

cherador

aí galera mandaram bem eu tb tava com a duvida mas eh mais facil de entender

new Integer(int).toString();

achei melhor pro q to fazendo vlw aew

Mantu

Como assim??? :shock:

Criado 20 de janeiro de 2005
Ultima resposta 29 de jul. de 2008
Respostas 17
Participantes 13