Boa tarde, Thiago!
Existem formas mais rebuscadas de pegar esse array de char
, transformar ele num ArrayList
e, por fim, inverter a ordem dele. Vou deixar aqui um exemplo apenas a título de curiosidade, mas pelo que pude ver no seu perfil, aparentemente vc está começando sua caminhada no mundo Java, então não se preocupe se não conseguir entender completamente o código!
public class TesteInverteString {
public static void main(String[] args) {
String newString="";
String original = "Gabriel Leite";
List<Character> lista = original.chars()
.mapToObj(letra -> (char) letra)
.collect(Collectors.toList());
System.out.println(lista); // lista original.
Collections.reverse(lista); // inverte a lista.
System.out.println(lista); // lista invertida.
}
}
Basicamente, o que o código faz é pegar a String
original, transformar para uma IntStream
que é uma estrutura nova que surgiu na versão 8 do Java, depois transforma cada item desse IntStream
para um char
e, por fim, coleta todos os itens para uma lista de Character
.
No entanto, perceba que embora não tenha aparecido nenhum laço de repetição, implicitamente há iterações sendo feitas, como por exemplo, quando da transformação dos itens do IntStream
para char
! Pois o que o método mapToObj()
faz é justamente passar por cada um dos itens e aplicar uma transformação.
Conclusão: A sua solução é mto boa! E qualquer outra solução para chegar no mesmo objetivo tbm vai precisar de uma iteração, mesmo que seja por baixo dos panos!
Grande abraço e bons estudos!