Download as pdf
Download as pdf
You are on page 1of 3
mas results de JAVA AN&xO STRINGS 1] objetivo de este capitulo es explicar la utilizacién de las cadenas de caracteres en Java. Esto es parte im- @ _-attante de cualquier lenguaje, pues constituye uno de los tipos de datos, que, sin formar parte del conjunto bbasico, (enteros, reales, booleanos) es de los més utilizados en la mayoria de las aplicaciones, En este capitulo tratamos la utilizaci6n de dos clases que sirven para manejar cadenas de caracteres: = String » StringBuffer. Laclase StringBuffer permite secuencias de caracteres de tamafio y contenido variable a lo largo de la ejecucién. La clase String permite manejar cadenas cuyo contenido es fijo y no se altera en toda la vida del programa, 6.1 CLASE STRING Esta clase permite el manejo de cadenas de caracteres no modificables. Es decir, si se realiza una con- catenacién a un String ya existente, se crearé un nuevo objeto String con el contenido resultante de la operacién. 6.1.1 Constructores de String Los constructores para crear objetos de la clase String son: > ® String(): crea una cadena vacfa. a = String(String 5): crea una cadena cuyo contenido es copia de otra, = String(char unarray{ J): crea una cadena a partir de un array de caracteres P= String(char af] .int inicio, int cantidad): crea una cadena extrayendo un fragmento de un array de caracteres. = String (byte a[], int byteSuperior, int inicio, int cantidad): crea una cadena con los-valores del array desde el inicio y el niimero de elementos que indica cantidad. La parte superior del cardcter se forma con el valor byteSuperior, «String (byte a], int byteSuperior): rea una cadena con los valores del array, formando la parte superior con el valor byteSuperior. Se pueden crear Strings realizando una asignaci6n directa del valor a una variable declarada de tipo e String: String s~ * cadena": 6.1.2 Operaciones String basicas Se pueden concatenar cadenas usando los operadores + y += con dos String. También se puede utilizar el operador + con objetos, igual que en el método print. Por ejemplo: System.out.Print (“Titeral="+ obj1+* numero="+ 32); En este caso, antes de hacer la co atenacién se invocaré, implicitamente, el método toString() de cada objeto involucrado. EI método toString est definido en la clase java.lang.Object y, por tanto, Jo poseen todas las clases, aunque cada una debe realizar su propia implemetacién para adecuarse a sus caracteristicas. —e* int length() : da el mimero de caracteres de cadena. we char charAt(int pos) : devuelve el ar colocado en la posici fuera de os limites de la cadena genera una excepeién DP + void GrGharyyint inicio, int final n indicada. El acceso a una posicién char af}, int inicioArcay) : copia los caracteres del String desde la posicién inicio hasta Ia posicion final (Este esta exeluido) en el array de caracteres e@ desde la posicién inicioArray. t 4 + ES rns co = é Hes Oot 34 5 6? 24 4 VAL Ld am 2 : — 1.3. Comparacién de cadenas Oo ‘Si comparamos dos cadenas con cad1 ~~ cad2 estariamos comparando sus referencias y no su conte- ido, Para comparar su contenido, se deben usar los métodos equals() o compareTo(), que se utilizan ast cadenal.equals(cadena2) cadenal.compareTo(cadena2) = boolean equals(Object objeto): sila cadena correspondiente al argumento es igual que el String de referencia, devuelve true, si no da false. ~ + int compareTo(String 5): devuelve la diferencia entre los primeros caracteres no iguales entre am- bas cadenas (cardcter delSt ring usado para invocar el método - carter de s (pardmetro)), entendidos como valores enteros (devuelve 0 si las cadenas son iguales). Otros métodos: + boolean equalsignoreCase(String S): como equals, pero sin las. <= boolean startsWith(String S):comprueba si la cadena comienza con los caracteres de S boolean. + endsWith(String $): comprueba si la cadena termina con los caracteres de S. yguir maytisculas y mintiscu- 6.1.4 Creacién de subcadenas D+ string substringCint comienzo): devuelve la subcadena desde comienzo hasta el final de la ca- dena. Be string substring(int comienzo, int fina? ):devuelve la subcadena a partir de comienzo y que finaliza justo antes del cardeter final 6.1.5 Busqueda dentro de cadenas + int indexOf (char c): busca la primera aparicién del carécter dentro de ve -1). # int indexOf(char c, int comienzo): busca el cardcter dentro de la cadens a partir de Ia posicién comienzo ( >=comienz0). + int indexO#(String S): busca Ia primera aparicién de S dentro de la cadena. = int indexOF(String S, int comienzo): busca S dentro de la cadena a partir de la posicién co- mienzo. = int lastIndexOF(String S, int fin): busca $ dentro de la cadena empezando desde el final de la cadena y devolviendo la primera posicién de comienzo de S encontrada que sea menor o igual que fin cadena (si no est, devuel- 6.1.6 Modificacion de cadenas Las cadenas de caracteres no modifican su valor, pero se pueden crear copias de objetos de tipo cadena con su valor modificado. Los siguientes métodos devuelven nuevos objetos con la cadena modificada. String concat(String S):devuelve la cadena resultante de concatenar S a la cadena (similar a+), = String replace(char a, char anew): devuelve el anew en toda la cadena. cadena resultante de sustituir el cardcter a por = String toLowerCase( ): devuelve la cadena resultante de pasar la cadena a mintisculas. + String) teUpperCase(): devuelve la cadena resultante de pasar la cadena a may isculas, = String. trim(); devuelve la cadena resultante de eliminar de la cadena los espacios que tenga al prin e.. final Copitulo 6 ! Cadenas de caracteres ITES-Poraninfo «14 > blemas resueltos de JAVA 6.1.7 Método valueOf Ss Convierte valores de tipos primitives a String. Esté sobrecargado con varias definiciones: = String valueOf(char datos(}): de array de caracteres a cadena. = String value0f(boolean c): de booleano a cadena. = String valueOf (char c): de caracter a cadena. = String valueOfCint i): de entero 32 bit a cadena, = String valueOf(1ong 1): de entero 64 bit a cadena. + String valueOf( float f): de flotante 32 bit a cadena. String valueOf (double 4): de flotante 64 bit acadena. String valueOF(Object objeto): convierte el objeto en cadena, invocando el método toString() del objeto. 6.1.8 Uso de las clases de Envoltura para conversiones a y desde ‘String “—® Las clases de Envoltura pertenecen al paquete java. 1ang y emulan a los tipos primitivos. Se Haman Boolean , Character , Double , Float , Integer , Long . Son de tipo final, por lo que no admiten @ clases descendientes, Tienen un método que permite obtener el valor subyacente y, por tanto, se puede completar la conversi6n de la cadena a un tipo bisico, El método toString(), que suele ser genérico para cualquier clase, convierte un objeto a una cadena de caracteres. PEs posible utilizar los métodos estiticos parseInt , parseLong , parseFloat o parseDouble para realizar conversién de String a cada uno de los tipos bésicos correspondientes. ‘También es posible utilizar el método estético decode para realizar conversiones de String a int o long: Integer .decode( String). intValue(); En resumen, las conversiones posibles son: —* para int # A String: String. valueof (int) © AString:new Integer(int).toString() Ak De String: Integer.parseint (String) // met, Estatico * De String: new Integer(String). intValue() //met. No Estético * De String: Integer.decode(String),intValue(); ® * float Hf AString : String. valueof (float) * A String : new Float(float).toString() AM De String : Float.parseFloat (String) M1 met, Estético + De String: new Float(String).floatValue() //met. No Estético + double: es similar a float + boolean AE A String : String. valueof (boolean) * A String: new Boolean(boolean).toString() * De String: new Boolean( String) .booleanvalue( + char KA String: String. valueOf (char) © A String :new Character(char).toString() ME De String: new Character(String).charValue() + ITES Paani

You might also like