Inverter ordem de string

Olá pessoal!
Qual é o classe.método que faz a inversao do conteudo de uma variável string?

[quote=hsecco]Olá pessoal!
Qual é o classe.método que faz a inversao do conteudo de uma variável string?[/quote]

Creio que na String não tenha um método assim, só se tiver em alguma classe que possa trabalhar com uma String convertida para o tipo da classe.
Mas dá pra fazer isso “na mão”, converte a String para um array de char com o método toCharArray() e depois vc pode empilhar cada caractere e depois desempilhar que fica invertido, assim é só converter pra String de novo.

Usa StringBuilder.reverse().

String s = "TEXTO"; String invertida = ""; for (int i = s.length(); i < 0; i++) { invertida += s.charAt(i); } System.out.println(invertida);

É mais fácil assim:

String s = "TEXTO"; String invertida = new StringBuilder(s).reverse().toString();

1 curtida

[quote=ViniGodoy]É mais fácil assim:

String s = "TEXTO"; String invertida = new StringBuilder(s).reverse().toString();[/quote]

Sim…com certeza StringBuilder é a melhor solução.

Mas é sempre bom mostrar que com um comando fácil, é possível fazer o que se quer. Não é preciso conhecer TODOS os métodos e facilidades da linguagem, apenas saber onde usar o seu conhecimento.

Obs.: Caramba…falei bonito agora!

O problema é só a performance miserável de se usar += numa String dentro de um for.

[quote=claudneto]Sim…com certeza StringBuilder é a melhor solução.

Mas é sempre bom mostrar que com um comando fácil, é possível fazer o que se quer. Não é preciso conhecer TODOS os métodos e facilidades da linguagem, apenas saber onde usar o seu conhecimento.[/quote]

[quote=claudneto]String s = "TEXTO"; String invertida = ""; for (int i = s.length(); i < 0; i++) { invertida += s.charAt(i); } System.out.println(invertida);[/quote]
Olha, sua intenção foi boa, mas além do que o Vini disse a respeito de performance em concatenação de Strings, seu código tá errado. Do jeito que está só vai imprimir uma string em branco.

String s = "TEXTO"; String invertida = ""; for (int i = s.length()-1; i >= 0; i--) { invertida += s.charAt(i); } System.out.println(invertida);

Abraço.