Clase String
Enviado por multirockpunk • 14 de Junio de 2012 • 1.235 Palabras (5 Páginas) • 421 Visitas
La clase String
string: StringApp.java
Dentro de un objeto de la clases String o StringBuffer, Java crea un array de caracteres de una forma similar a como lo hace el lenguaje C++. A este array se accede a través de las funciones miembro de la clase.
Los strings u objetos de la clase String se pueden crear explícitamente o implícitamente. Para crear un string implícitamente basta poner una cadena de caracteres entre comillas dobles. Por ejemplo, cuando se escribe
System.out.println("El primer programa");
Java crea un objeto de la clase String automáticamente.
Para crear un string explícitamente escribimos
String str=new String("El primer programa");
También se puede escribir, alternativamente
String str="El primer programa";
Para crear un string nulo se puede hacer de estas dos formas
String str="";
String str=new String();
Un string nulo es aquél que no contiene caracteres, pero es un objeto de la clase String. Sin embargo,
String str;
está declarando un objeto str de la clase String, pero aún no se ha creado ningún objeto de esta clase.
Cómo se obtiene información acerca del string
Una vez creado un objeto de la clase String podemos obtener información relevante acerca del objeto a través de las funciones miembro.
Para obtener la longitud, número de caracteres que guarda un string se llama a la función miembro length.
String str="El primer programa";
int longitud=str.length();
Podemos conocer si un string comienza con un determinado prefijo, llamando al método startsWith, que devuelve true o false, según que el string comience o no por dicho prefijo
String str="El primer programa";
boolean resultado=str.startsWith("El");
En este ejemplo la variable resultado tomará el valor true.
De modo similar, podemos saber si un string finaliza con un conjunto dado de caracteres, mediante la función miembro endsWith.
String str="El primer programa";
boolean resultado=str.endsWith("programa");
Si se quiere obtener la posición de la primera ocurrencia de la letra p, se usa la función indexOf.
String str="El primer programa";
int pos=str.indexOf('p');
Para obtener las sucesivas posiciones de la letra p, se llama a otra versión de la misma función
pos=str.indexOf('p', pos+1);
El segundo argumento le dice a la función indexOf que empiece a buscar la primera ocurrencia de la letra p a partir de la posición pos+1.
Otra versión de indexOf busca la primera ocurrencia de un substring dentro del string.
String str="El primer programa";
int pos=str.indexOf("pro");
Vemos que una clase puede definir varias funciones miembro con el mismo nombre pero que tienen distinto número de parámetros o de distinto tipo.
Comparación de strings
equals: EqualsApp.java
La comparación de strings nos da la oportunidad de distinguir entre el operador lógico == y la función miembro equals de la clase String. En el siguiente código
String str1="El lenguaje Java";
String str2=new String("El lenguaje Java");
if(str1==str2){
System.out.println("Los mismos objetos");
}else{
System.out.println("Distintos objetos");
}
if(str1.equals(str2)){
System.out.println("El mismo contenido");
}else{
System.out.println("Distinto contenido");
}
Esta porción de código devolverá que str1 y str2 son dstintos objetos pero con el mismo contenido. str1 y str2 ocupan posiciones distintas en memoria pero guradan los mismos datos.
Cambiemos la segunda sentencia y escribamos
String str1="El lenguaje Java";
String str2=str1;
System.out.prinln("Son el mimso objeto "+(str1==str2);
Los objetos str1 y str2 guardan la misma referencia al objeto de la clase String creado. La expresión (str1==str2) devolverá true.
Asñi pues, el método equals compara un string con un objeto cualquiera que puede ser otro string, y devuelve true cuando dos strings son iguales o false si son distintos.
String str="El lenguaje Java";
boolean resultado=str.equals("El lenguaje Java");
La variable resultado tomará el valor true.
La función miembro comapareTo devuelve un entero menor que cero si el objeto string es menor (en orden alfabético) que el string dado, cero si son iguales, y mayor que cero si el objeto string es mayor que el string dado.
String str="Tomás";
int resultado=str.compareTo("Alberto");
La variable entera resultado tomará un valor mayor que cero, ya que Tomás está después
...