https://www.journaldev.com/538/string-vs-stringbuffer-vs-stringbuilder
https://stackabuse.com/string-vs-stringbuilder-vs-stringbuffer-in-java/
https://www.javatpoint.com/StringBuffer-class
https://www.javatpoint.com/StringBuilder-class
Ejemplo funciones de cadena:
String s = "JavadesdeCero"; // o String s= new String ("JavadesdeCero"); // Devuelve la cantidad de caracteres en la Cadena. System.out.println("String length = " + s.length()); // Devuelve el carácter en el índice i. System.out.println("Character at 3rd position = " + s.charAt(3)); // Devuelve la subcadena del carácter índice i-ésimo // al final de la cadena System.out.println("Substring " + s.substring(3)); // Devuelve la subcadena del índice i a j-1. System.out.println("Substring = " + s.substring(2, 5)); // Concatena string2 hasta el final de string1. String s1 = "Java"; String s2 = "desdeCero"; String s3="Ja"; s3+="va"; System.out.println(s1==s3); System.out.println(s1.equals(s3)); System.out.println(s1.compareTo(s3)); System.out.println("String concatenado = " + s1.concat(s2)); // Devuelve el índice dentro de la cadena de // la primera aparición de la cadena especificada. String s4 = "Java desde Cero"; System.out.println("Índice de Cero: " + s4.indexOf("Cero")); // Devuelve el índice dentro de la cadena de // la primera aparición de la cadena especificada, // comenzando en el índice especificado. System.out.println("Índice de a = " + s4.indexOf('a', 4)); // Comprobando la igualdad de cadenas Boolean out = "Java".equals("java"); System.out.println("Comprobando la igualdad: " + out); out = "Java".equals("Java"); System.out.println("Comprobando la igualdad: " + out); out = "Java".equalsIgnoreCase("jaVA"); System.out.println("Comprobando la igualdad: " + out); int out1 = s1.compareTo(s2); System.out.println("Si s1 = s2: " + out1); // Conversión de cases String palabra1 = "JavadesdeCero"; System.out.println("Cambiando a minúsculas: " + palabra1.toLowerCase()); // Conversión de cases String palabra2 = "JavadesdeCero"; System.out.println("Cambiando a MAYÚSCULAS: " + palabra1.toUpperCase()); // Recortando la palabra String word4 = " JavadesdeCero "; System.out.println("Recortando la palabra: " + word4.trim()); // Reemplazar caracteres String str1 = "YavadesdeCero"; System.out.println("String Original: " + str1); String str2 = "YavadesdeCero".replace('Y', 'J'); System.out.println("Reemplazando Y por J -> " + str2);
Ejemplos de StringBuffer:
// Siempre es con constructor StringBuffer sb=new StringBuffer("Hola "); // Añadir cadenas a una cadena con append sb.append("que tal"); // Ni StringBuffer ni StringBuilder tienen el operador + //sb+=" Mu bien"; System.out.println(sb); // Inserta 'Java' en la posición 1 : HJavaola que tal sb.insert(1,"Java"); System.out.println(sb); // Reemplaza lo que hay entre las posiciones 4 y 6 con '###' // El resultado es HJav###la que tal sb.replace(4,6,"###"); System.out.println(sb); // Borra lo que hay entre las posiciones 1 y 3: Hv###la que tal sb.delete(1,3); System.out.println(sb); // Invertir cadena: lat euq al###vH sb.reverse(); System.out.println(sb); String nombre="Eva Pi"; StringBuffer temp=new StringBuffer(nombre); nombre=temp.reverse().toString(); System.out.println(nombre);
Ejemplos de StringBuilder:
// Creo una cadena con el constructor StringBuilder sb = new StringBuilder("Hola "); // Añado con append (nunca con el operador +) sb.append("que tal"); System.out.println(sb); // Inserto 'Java' en la posición 1 sb.insert(1, "Java"); System.out.println(sb); // Reemplazo entre la posición 4 y 6 con '###' sb.replace(4, 6, "###"); System.out.println(sb); // Elimino lo que hay entre 1 y 3 sb.delete(1, 3); System.out.println(sb); // Invierto la cadena sb.reverse(); System.out.println(sb); String nombre = "Eva Pi"; StringBuilder temp = new StringBuilder(nombre); nombre = temp.reverse().toString(); System.out.println(nombre);