realizată de Cuenta Privada 1 an în urmă
134
Mai multe ca aceasta
String str="El lenguaje Java"; String subStr=str.substring(12);
Se obtendrá el substring "Java". Una segunda versión de la función miembro substring, nos permite extraer un substring especificando la posición de comienzo y la el final.
String str="El lenguaje Java"; String subStr=str.substring(3,11);
String piStr = "3.14159"; Float pi = Float.valueOf(piStr);
System.out.println(String.valueOf(Math.PI));
Todas las clases heredan toString() desde la clase Object y muchas clases del paquete java.lang sobreescriben este método para proporcionar una implementación más acorde con la propia clase. Por ejemplo, las clases Character, Integer, Boolean, etc.. sobreescriben toString() para proporcionar una representación en String de los objetos.
String cadena1="pepe"; String cadena2="juan"; if (cadena1.equals(cadena2)) { //codigo } if (cadena1.equalsIgnoreCase(cadena2)) { // codigo }
Conversión de minúsculas a mayusculas de una cadena
Objeto_cadena.toUpperCase(); // Lo convierte a mayúsculas.
Objeto_cadena.toLowerCase(); // Lo convierte a minúsculas.
Comparación con CompareTo
Si lo que queremos es comparar cadenas para ordenarlas, una opción es usar el método compareTo() de la clase String. Este método devuelve 0 si ambas cadenas tienen el mismo contenido, negativo si el String es menor -va antes- que el parámetro que se le pasa y positivo si es mayor. Es decir:
if (cadena1.compareTo(cadena2) == 0) System.out.println("cadena1 y cadena2 son iguales"); else if (cadena1.compareTo(cadena2) < 0) System.out.println ("cadena1 va antes que cadena2"); else if (cadena1.compareTo(cadena2) > 0) System.out.println("cadena2 va después que cadena1");
Igualdad
El método equals y el operador == hacen dos pruebas completamente diferentes para la igualdad. Mientras que el método equals compara los caracteres contenidos en una String, el operador == compara dos referencias de objeto para ver si se refieren a la misma instancia. Por tanto, no podemos usar el signo == por que esta sería una comparación binaria de punteros a memoria y no nos devolvería el valor correcto
"abc".charAt(1)
Si se necesita extraer más de un carácter a la vez, puede utilizar el método getChars, que le permite especificar el índice del primer carácter y del último más uno que se desean copiar, además de la matriz char donde se desean colocar dichos caracteres.
String s = "Esto no es una canción"; char buf[] = new char[2]; s.getChars(5, 7, buf, 0);
Devolverá 'b'
String s = "abc"; System.out.println(s.length());
Un punto interesante en Java es que se crea una instancia de objeto para cada literal String, por lo que se puede llamar a los métodos directamente con una cadena entre comillas, como si fuera una referencia a objeto, con este ejemplo se volvería a imprimir un 3:
String s = "abc"; System.out.println("abc".lenght());
El resultado de ejecutar el código anterior, sería la impresión de 3, que se corresponde con la longitud llamada s.
"La entrada tiene " + contador + " caracteres."
Dos de las cadenas concatenadas son cadenas literales: "La entrada tiene " y " caracteres.". La tercera cadena - la del medio- es realmente un entero que primero se convierte a cadena y luego se concatena con las otras.
Al método append de StringBuffer se le llama a menudo a través del operador +. Tiene versiones sobrecargadas para todos los tipos. Se llama a String.valueOf para cada parámetro y el resultado se aóade al StringBuffer actual. Cada versión de append devuelve el propio buffer.
class ReverseString { public static String reverseIt(String source) { int i, len = source.length(); StringBuffer dest = new StringBuffer(len); for (i = (len - 1); i >= 0; i--) { dest.append(source.charAt(i)); } return dest.toString(); } }
StringBuffer es una clase gemela de String que proporciona gran parte de la funcionalidad de la utilización habitual de las cadenas. StringBuffer representa secuencias de caracteres que se pueden ampliar y modificar. Java utiliza ambas clases con frecuencia, pero muchos programadores sólo tratan con String y permiten que Java manipule StringBuffer por su cuenta mediante el operador sobrecargado '+'.
StringBuffer nombre=new StringBuffer(“cadena”);
Número o carácter
Para saber si el contenido de una variable es un número o un carácter. Devuelve true cuando es un número.
Character.isDigit(variable_char);
Espacio si/no
Para saber si el contenido de una variable es un espacio. Devuelve true en caso de ser un espacio.
Character.IsSpace(objeto_carácter);
Insertar
Añade en una determinada posición un carácter o una cadena.
Objeto_cadena.insert(posicion,’carácter’); Objeto_cadena.insert(posicion,”cadena”);
StringBuffer sb = new StringBuffer("Bebe Caliente!"); sb.insert(6, "Java "); System.out.println(sb.toString());
El ejemplo anterior imprimiría: Bebe Java Caliente!
Modificar
Permite modificar un carácter en una determinada posición.
Objeto_cadena.SetcharAt(posición,nuevo carácter);
Capacidad
Reserva 16 espacios aunque ya tengamos algo escrito. Con la segunda línea lo que haces es indicar el numero de espacios que vas a reservar.
Objeto_cadena.capacity(); Objeto_cadena.ensureCapacity(nº);
La clase String se utiliza cuando se trabaja con cadenas que no pueden cambiar.
Como son constantes, los Strings son más económicos (utilizan menos memoria) que los StringBuffers y pueden ser compartidos. Por eso es importante utilizar String siempre que sea apropiado.
Muchos Strings se crean a partir de cadenas literales. Cuando el compilador encuentra una serie de caracteres entre comillas (" y "), crea un objeto String cuyo valor es el propio texto.
System.out.println("Hola Mundo!");