Transformar inteiro em String

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

a maneira mais raapida e simples:

String s = ""+123;

[]'s

1 curtida

Valeu cara!

Integer.toString( valor )

3 curtidas
String.valueOf(valor);

[quote=jgbt] a maneira mais raapida e simples:

String s = ""+123;

[/quote]

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

[]'s
iSoron.

que tal assim:

new Integer(int).toString();

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.
     }
}

[quote=iSoron][quote=jgbt] a maneira mais raapida e simples:

String s = ""+123;

[/quote]

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

[]'s
iSoron.[/quote]

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

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

String.valueOf(inteiro)

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

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.)

1 curtida

Valeu Pessoal!

Acabei aprendendo duas maneiras de fazer esta transformação

Muito Obrigado a todos

Cristiano

[quote=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.)

[/quote]

Também entendi tudo, beleza!

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

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

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

Como assim??? :shock: