Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación
Orientada a
Objetos
1
Cadena de caracteres en Java
(Strings)
El valor de una String Introducción
es un conjunto de
caracteres delimitados
por comillas (Bailey, En Java los caracteres se almacenan en contenedores que pueden tener dos
2000). tipos de datos, el char que es primitivo y que almacena un número con el
código del carácter almacenado y el tipo de dato de referencia String, que
es una clase provista en las bibliotecas del lenguaje y que permite
almacentar conjuntos de caracteres con mayor facilidad de uso y
aprovechando los métodos que tiene una clase de Java.
2
Debemos decir que al ser un objeto de la clase String, un objeto de esta clase
no puede ser modificado. Lo que hacemos, por ejemplo con la
concatenación, es crear nuevos objetos Strings con el cambio requerido:
Figura 3: Mostrando en String a un objeto tipo Line creado con dos objetos
Pt
3
Imprime los puntos iniciales y finales del segmento Línea definido
4
Indizando cadenas
Hemos visto cómo construir una cadena a partir de una serie de caracteres.
Ahora consideraremos formas de desarmar una cadena. La herramienta
principal es el método charAt. Este método le permite al programador
recuperar un carácter de una cadena. Para hacerlo, debemos darle al
método chatAt una posición o índice. El índice del primer carácter en un
arreglo String es cero y se incrementa de a uno hacia la derecha (ver figura
7).
El resultado será:
5
>N E W S F L A S H ! <
Subcadenas
Algunas veces es necesario extraer porciones de una String.
Supongamos, por ejemplo, que es leída una línea de texto con varias
palabras. Para tener acceso a cada una de esas palabras como cadenas
separadas, debemos ser capaces de extraer subcadenas. Java provee varios
métodos para trabajar con subcadenas, llamados substring. La forma más
simple del método toma un índice inicial (un entero) y devuelve la
subcadena que comienza con el índice indicado. Veamos unos ejemplos:
Una forma alternativa toma dos parámetros: el índice del primer carácter de
la subcadena y el índice de la primera posición que sigue a la subcadena.
6
Figura 11: Diferentes argumentos de Substring y su resultado
El valor del segundo parámetro se ha elegido así para que la diferencia entre
los parámetros sea la longitud de la subcadena.
Dadas las dos formas del método substring, podemos elaborar métodos para
omitir una subcadena.
El siguiente método, llamado omit, sirve para omitir la parte final de una
cadena a partir de un índice i:
Comparación de cadenas
Con tipos de datos primitivos, los operadores ==, < y > son los responsables
de establecer un orden entre valores. Al ser una clase, estos operadores no
aplican para Strings. Para comparaciones, cuentas con el método equals,
que es el responsable de controlar si dos cadenas son iguales carácter por
carácter. El orden de las cadenas puede ser verificado con el método
compareTo. El orden que se considera es el orden lexicográfico o del
diccionario, es decir que cuando comparamos dos cadenas, se hace la
comparación de caracteres del mismo índice, comenzando por el primero.
La primera diferencia en los valores ASCII de los caracteres determina la
relación entre las cadenas. Por ejemplo:
1 "perro".compareTo("pero")
Este devolverá un valor que es más grande que cero, pues la cadena de la
izquierda es más grande que la derecha: los tres primeros caracteres son
iguales, pero cuando se compara el cuarto, la r es más grande que la o. La
magnitud del valor retornado por el método en general no tiene una
interpretación útil.
7
1 "come".compareTo("comera")
2 s.compareTo(t) <= 0
8
Referencias
Bailey, D. A., y Bailey, D. W. (2000). Strings [trad. por Alejandro
Tiraboschi]. En D. A. Bailey, Java Elements: Principles of Programming in
Java (pp. 185-200). Boston, MA: Mc Graw Hill.