Clase String

Un String en Java representa una cadena de caracteres no modificable.
Todos los literales de la forma "cualquier texto", es decir, literales entre comillas dobles, que aparecen en un programa java se implementan como objetos de la clase String.
CREAR UN STRING
Se puede crear un String de varias formas, entre ellas:
-         Utilizando una cadena de caracteres entre comillas:
String s1 = "abcdef";   
-         Utilizando operador de concatenación +con dos o más objetos String:
String s2 = s1 + "ghij";      //s2 contiene "abcdefghij"
String s3 = s1 + s2 + "klm";  //s3 contiene " abcdefabcdefghijklm"               
Además la clase String proporciona varios constructores, entre ellos:

CONSTRUCTOR
DESCRIPCIÓN
String()
Constructor por defecto. El nuevo String toma el valor ""
String s = new String();   //crea el string s vacío.  
Equivale a:   String s = "";
String(String s )
Crea un nuevo String, copiando el que recibe como parámetro.
String s = "hola";
String s1 = new String(s);  
//crea el String s1 y le copia el contenido de s
String( char[] v )  
Crea un String y le asigna como valor los caracteres contenidos en el array recibido como parámetro.
char [] a = {'a', 'b', 'c', 'd', 'e'};
String s = new String(a);  
//crea String s con valor "abcde"
String( char[] v , int pos, int n)
Crea un String y le asigna como valor los n caracteres contenidos en el array recibido como parámetro, a partir de la posición pos.
char [] a = {'a', 'b', 'c', 'd', 'e'};
String s = new String(a, 1, 3);
//crea String s con valor "bcd";


MÉTODOS DE LA CLASE STRING
La clase String proporciona métodos para el tratamiento de las cadenas de caracteres: acceso a caracteres individuales, buscar y extraer una subcadena, copiar cadenas, convertir cadenas a mayúsculas o minúsculas, etc.


MÉTODO
DESCRIPCIÓN
length()
Devuelve la longitud de la cadena
indexOf(‘caracter’)
Devuelve la posición de la primera aparición de carácter dentro del String. Devuelve -1 si no lo encuentra.
lastIndexOf(‘caracter’)
Devuelve la posición de la última aparición de carácter dentro del String. Devuelve -1 si no lo encuentra.
charAt(n)
Devuelve el carácter que está en la posición n
substring(n1,n2)
Devuelve la subcadena desde la posición n1 hasta n2 - 1
toUpperCase()
Devuelve la cadena convertida a mayúsculas
toLowerCase()
Devuelve la cadena convertida a minúsculas
equals(otroString)
Compara dos cadenas y devuelve true si son iguales
equalsIgnoreCase(otroString)
Igual que equals pero sin considerar mayúsculas y minúsculas
compareTo(OtroString)
Devuelve 0 si las dos cadenas son iguales. <0 si la primera es alfabéticamente menor que la segunda ó >0 si la primera es alfabéticamente mayor que la segunda.
compareToIgnoreCase(OtroString)
Igual que compareTo pero sin considerar mayúsculas y minúsculas.
valueOf(N)
Convierte el valor N a String. N puede ser de cualquier tipo.


Los puedes consultar todos en la API de Java:

Debemos recordar que:
Los objetos String no son modificables.
Por lo tanto, los métodos que actúan sobre un String con la intención de modificarlo lo que hacen es crear un nuevo String a partir del original y devolverlo modificado.
Por ejemplo: Una operación como convertir a mayúsculas o minúsculas un String no lo modificará sino que creará y devolverá un nuevo String con el resultado de la operación.
String s = "abc";            


s = s.toUpperCase(); //convertir a mayúsculas el contenido del String s      

El recolector de basura es el encargado de eliminar de forma automática los objetos a los que ya no hace referencia ninguna variable.



EL OPERADOR DE CONCATENACIÓN +
La clase proporciona el operador + (concatenación) para unir dos o más String.
El resultado de aplicar este operador es un nuevo String concatenación de los otros.
Por ejemplo, si tenemos dos String b y c:
String b = "Ordenador";
String c = " Portátil";               
La operación:  
b = b + c;               
crea un nuevo String (b + c) y le asigna su dirección a b:


20 comentarios:

  1. Bien explicado e interesante

    ResponderEliminar
  2. El recolector de basura que mencionas funciona solo o hay que invocarlo?

    ResponderEliminar
    Respuestas
    1. No es necesario invocarlo. El recolector de basura comprueba si un objeto se ha quedado sin referencia y lo elimina.

      Eliminar
  3. gracias por el aporte, tengo examen y este tema no me lo sabia

    ResponderEliminar
  4. Este blog es muy interesante. Creo que hay un error en la explicación del substring: "Devuelve la subcadena comprendida entre las posiciones n1 y n2 ambas incluidas", y no es del todo cierto, puesto que

    "Devuelve la subcadena comprendida entre las posiciones n1 y (n2-1)".

    Un saludo.

    ResponderEliminar
    Respuestas
    1. Gracias por avisar del error. Efectivamente el método substring devuelve la subcadena desde l posición n1 hasta la posición n2-1. Ya está corregido el texto.
      Gracias de nuevo y un saludo

      Eliminar
  5. muy bien especificado muchas gracias despejo muchas dudas the crac...

    ResponderEliminar
  6. Quiero agradecerte todo el aporte. Ha sido muy útil leer ese manual. Mil gracias...

    ResponderEliminar
  7. Quiero agradecerte todo el aporte. Ha sido muy útil leer ese manual. Mil gracias...

    ResponderEliminar
  8. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  9. Exelente Andaba en busca de esto mismo, un saludo y felicitaciones

    ResponderEliminar
  10. No se que usar para añadir dos métodos?

    ResponderEliminar
  11. pura mierda esta wea java culiao

    no te doy mas de 2 años de vida
    estai agonizando conchetruamreeeeeeeeeeeeeeeeeee

    ResponderEliminar
  12. fino, que bueno que tambien aclaraste lo de la referenciacion y el recolector de basura.

    ResponderEliminar
  13. Gracias por los comentarios, me alegro de que os haya sido útil a casi todos. Intentaremos seguir mejorando.

    ResponderEliminar
  14. Muchas gracias me sirvio como repaso , hare examen y ahora me siento listo.

    ResponderEliminar