Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LA CLASE STRINGBUILDER
Una vez que se crea un objeto String, su contenido ya no puede variar. Ahora hablaremos sobre las
características de la clase StringBuilder para crear y manipular información de cadenas dinámicas;
es decir, cadenas que pueden modificarse. Cada objeto StringBuilder es capaz de almacenar varios
caracteres especificados por su capacidad. Si se excede la capacidad de un objeto StringBuilder, ésta
se expande de manera automática para dar cabida a los caracteres adicionales. La clase
StringBuilder también se utiliza para implementar los operadores + y += para la concatenación de
objetos String.
El método ensureCapacity se usa para expandir la capacidad del objeto StringBuilder a un mínimo
de 75 caracteres. En realidad, si la capacidad original es menor que el argumento, este método
asegura una capacidad que sea el valor mayor entre el número especificado como argumento, y el
doble de la capacidad original más 2. Si la capacidad actual del objeto StringBuilder es más que la
capacidad especificada, la capacidad del objeto StringBuilder permanece sin cambios.
String cadena="Java";
//el constructor de StringBuilder que recibe un argumento String inicializa la capacidad con la
longitud de la cadena que se le pasa como argumento, más 16.
bufer.ensureCapacity(75);
//se utiliza el método setLength para establecer la longitud del objeto StringBuilder en 10
1
//El método setCharAt() recibe un entero y un carácter como argumentos y asigna al carácter
en la posición especifi cada
bufer.setCharAt(16, '!');
bufer.setCharAt(4, '.');
System.out.println("setCharAt():" + bufer.toString());
bufer.setLength(10);
bufer.reverse();
//La clase StringBuilder proporciona métodos append sobrecargados, Cada uno de los métodos
recibe su argumento, lo convierte en una cadena y lo anexa al objeto String-
//Builder
bufer1.append(cadena);
//que se encuentra una posición más allá del último de los caracteres que se van a eliminar. Se
eliminan todos los
//caracteres que empiezan en el índice inicial hasta, pero sin incluir al índice final.
bufer.delete( 6, 10 );
bufer.deleteCharAt( 5 );
SALIDA:
2
setCharAt():Hola. como estas!
Nueva longitud = 10
Hola. como
reverse= omoc .aloH
bufer1 contiene = Java
delete= omoc .
reverse= omoc
LA CLASE STRINGTOKENIZER
Cuando usted lee una oración, su mente la divide en tokens (palabras individuales y signos de
puntuación, cada uno de los cuales transfiere a usted su significado). Los compiladores también
llevan a cabo la descomposición de instrucciones en piezas individuales tales como palabras clave,
identificadores, operadores y demás elementos de un lenguaje de programación. Ahora
estudiaremos la clase StringTokenizer de Java (del paquete java.util), la cual descompone una
cadena en los tokens que la componen. Los tokens se separan unos de otros mediante
delimitadores, que generalmente son caracteres de espacio en blanco tales como los espacios,
tabuladores, nuevas líneas y retornos de carro. También pueden utilizarse otros caracteres como
delimitadores para separar tokens.
Hay otros dos constructores para la clase StringTokenizer. En la versión que recibe los argumentos
String, el segundo String es la cadena delimitadora. En la versión que recibe tres argumentos, el
segundo String es la cadena delimitadora y el tercer argumento (boolean) determina si los
delimitadores también se devuelven como tokens (sólo si este argumento es true). Esto es útil si
usted necesita saber cuáles son los delimitadores.
Si desea cambiar la cadena delimitadora mientras descompone una cadena en tokens, puede
hacerlo especificando una nueva cadena delimitadora en una llamada a nextToken, como se
muestra a continuación:
tokens.nextToken( nuevaCadenaDelimitadora );
import java.util.Scanner;
3
import java.util.StringTokenizer;
// obtiene el enunciado:
while (tokens.hasMoreTokens()) {
System.out.println(tokens.nextToken());
SALIDA: