Академический Документы
Профессиональный Документы
Культура Документы
String
Podemos crear referencias a objetos String de varias maneras. Una es creando un nuevo objeto String vaco con su respectiva referencia: String ref = new String(); Otra es creando un nuevo objeto String con texto inicial: String ref = new String(texto); La otra es igualando la referencia a un texto (sin usar new), pero si ese texto ya tiene tambin otra referencia, entonces la localidad de memoria donde est ese objeto String tendr en ese momento 2 referencias a objeto. String ref1 = texto; String ref2 = texto; Entonces ref1 y ref2 son 2 referencias a un mismo objeto. Escribe la siguiente clase en su propio archivo. public class ClaseParaCadenas { public static void main(String arg[]) { String str1 = "anita lava la tina"; String str2 = "anita lava la tina"; String str3 = new String("anita lava la tina"); String str4 = new String("anita lava la tina"); if( str1 == str2 ) System.out.println( "str1 == str2" ); else System.out.println( "str1 != str2" ); if( str1 == str3 ) System.out.println( "str1 == str3" ); else System.out.println( "str1 != str3" ); } } Complalo y ejectalo. Cul fue el resultado respecto a str1 y str2? ________________ por qu?_________________________ Cul fue el resultado respecto a str1 y str3? ___________________________ por qu?_________________________ Agrega cdigo para hacer la comparacin entre str2 y str3 y escribe aqu el cdigo que agregaste y la salida de la ejecucin ______________________________ Agrega cdigo para hacer la comparacin entre str3 y str4 y escribe aqu el cdigo que agregaste y la salida de la ejecucin ______________________________ El operador == entre referencias da como resultado un booleano true si ambas referencias apuntan al mismo objeto, pero no compara sus valores (que en caso de ser String y que de true, significa que las 2 referencias estn apuntando al mismo objeto por lo que sus valores sern los mismos). Revisa la documentacin de la API de Java en http://docs.oracle.com/javase/7/docs/api/ e investiga si existe un mtodo para comparar valores de objetos String. Escribe aqu la firma del mtodo: ______________________________________ El mtodo equals() compara contenidos de cadenas de manera caso sensitivo, sin importar si son o no referencias a un mismo objeto.
Modifica la clase: public class ClaseParaCadenas { public static void main(String arg[]) { String str1 = "anita lava la tina"; String str2 = "anita lava la tina"; String str3 = new String("anita lava la tina"); String str4 = new String("anita lava la tina"); if( str1 == str2 ) System.out.println( "str1 == str2" ); else System.out.println( "str1 != str2" ); if( str1.equals(str2) ) System.out.println( "str1 y str2 son iguales en texto" ); else System.out.println( "str1 y str2 no son iguales en texto" ); if( str1 == str3 ) System.out.println( "str1 == str3" ); else System.out.println( "str1 != str3" ); if( str1.equals(str3) ) System.out.println( "str1 y str3 son iguales en texto" ); else System.out.println( "str1 y str3 no son iguales en texto" ); } } Escribe aqu la salida: _____________________________________. Ahora investiga y agrega a su clase mtodos para aplicarlos sobre str1 que hagan lo siguiente
Obtenga la longitud de la cadena de str1 ___________________ Indicar el ndice donde se encuentra el primer carcter t (de izquierda a derecha)____ Indicar el ndice donde se encuentra el primer carcter t (de derecha a izquierda)____ Indique la posicin de la primera letra l (ele), de i zquierda a derecha ______ Indique la posicin de la primera letra l (ele), de derecha a izquierda ______ Indique qu letra se encuentra en la posicin 10 ________________ Haga un substring, de tal manera que obtenga la cadena anita ________________ Haga un substring, de tal manera que obtenga la cadena tina ________________ Convierta la cadena a una cadena de todas maysculas ___________________ Convierta la cadena a una cadena de todas minsculas ___________________ Quite todos los espacios intermedios, quedando anitalavalatina. ________________ Reemplace todas las a por e ______________________ Qu hace el mtodo toString()? ___________ Agregue la sentencia System.out.println( hizo?___________________.
str1.toString()
).
Qu