Como sabemos, Object of String en Java es inmutable (es decir, no podemos realizar ningún cambio una vez creado).
Para hacer modificaciones en una string almacenada en un objeto String, lo copiamos en una array de caracteres, StringBuffer, etc. y hacemos modificaciones en el objeto de copia.
En este artículo, analizaremos algunos métodos para intercambiar el carácter de una string dada y obtener una nueva string (con caracteres intercambiados) mientras que la string original no se ve afectada.
A través de los ejemplos a continuación, veamos algunos de los métodos mediante los cuales podemos intercambiar caracteres y generar nuevos
ejemplos de strings:
Método 1 (usando toCharArray)
En este método, convertimos la string en la array de caracteres y realizamos el intercambio requerido.
Java
// Java program to demonstrate character swap // using toCharArray(). public class GFG { static char[] swap(String str, int i, int j) { char ch[] = str.toCharArray(); char temp = ch[i]; ch[i] = ch[j]; ch[j] = temp; return ch; } public static void main(String args[]) { String s = "geeksforgeeks"; System.out.println(swap(s, 6, s.length() - 2)); System.out.println(swap(s, 0, s.length() - 1)); System.out.println(s); } }
geeksfkrgeeos seeksforgeekg geeksforgeeks
Método 2 (usando subString())
Construimos la string modificada usando substrings de la string dada.
Java
// Java program to demonstrate character swap // using subString() public class GFG { static String swap(String str, int i, int j) { if (j == str.length() - 1) return str.substring(0, i) + str.charAt(j) + str.substring(i + 1, j) + str.charAt(i); return str.substring(0, i) + str.charAt(j) + str.substring(i + 1, j) + str.charAt(i) + str.substring(j + 1, str.length()); } public static void main(String args[]) { String s = "geeksforgeeks"; System.out.println(swap(s, 6, s.length() - 2)); System.out.println(swap(s, 0, s.length() - 1)); // Original String doesn't change System.out.println(s); } }
geeksfkrgeeos seeksforgeekg geeksforgeeks
Método 3 (usando StringBuilder o StringBuffer)
En este método, puede usar StringBuilder o StringBuffer según la situación. Consulte String vs StringBuilder vs StringBuffer en Java para decidir cuándo usar cuál.
Java
// Java program to demonstrate character swap // using StringBuilder public class GFG { static String swap(String str, int i, int j) { StringBuilder sb = new StringBuilder(str); sb.setCharAt(i, str.charAt(j)); sb.setCharAt(j, str.charAt(i)); return sb.toString(); } public static void main(String args[]) { String s = "geeksforgeeks"; System.out.println(swap(s, 6, s.length() - 2)); System.out.println(swap(s, 0, s.length() - 1)); // Original String doesn't change System.out.println(s); } }
geeksfkrgeeos seeksforgeekg geeksforgeeks
Producción:
geeksfkrgeeos seeksforgeekg geeksforgeeks
Este artículo es una contribución de Sumit Ghosh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA