Está en la página 1de 7

ROLANDO RAMIREZ RUIZ

INV: STRING BUFFER TOPICOS SELECTOS DE PROGRAMACION


GRUPO:3VS
LA CLASE STRINGBUFFER
Java posee gran capacidad para el manejo de cadenas dentro de sus clases String y
StringBuffer . Un objeto String representa una cadena alfanumérica de un valor constante
que no puede ser cambiada después de haber sido creada. Un objeto StringBuffer representa
una cadena cuyo tamaño puede variar.

La clase StringBuffer dispone de muchos métodos para modificar el contenido de los


objetos StringBuffer. Si el contenido de una cadena va a ser modificado en un programa,
habrá que sacrificar el uso de objetos String en beneficio de StringBuffer, que aunque
consumen más recursos del sistema, permiten ese tipo de manipulaciones.

Al estar la mayoría de las características de los StringBuffers basadas en su tamaño


variable, se necesita un nuevo método de creación:

StringBuffer(); StringBuffer( int len ); StringBuffer( String str );

Se puede crear un StringBuffer vacío de cualquier longitud y también se puede utilizar un


String como punto de partida para un StringBuffer.

StringBuffer Dos = new StringBuffer( 20 ); StringBuffer Uno = new


StringBuffer( "Hola Mundo" );

Cambio de Tamaño

El cambio de tamaño de un StringBuffer necesita varias funciones específicas para


manipular el tamaño de las cadenas:
int length(); char charAt( int index ); void getChars( int srcBegin,int
srcEnd,char dst[],int dstBegin ); String toString(); void setLength( int
newlength ); void setCharAt( int index,char ch ); int capacity(); void
ensureCapacity( int minimum ); void copyWhenShared();

Obervar que una de las funciones devuelve una cadena constante normal de tipo String.
Este objeto se puede usar con cualquier función String, como por ejemplo, en las funciones
de comparación.

Modificación del Contenido

Para cambiar el contenido de un StringBuffer, se pueden utilizar dos métodos: append() e


insert() .

En el ejemplo CadAppend.java , vemos el uso de estos dos métodos:

class CadAppend { public static void main( String args[] )


{ StringBuffer str = new StringBuffer( "Hola" ); str.append( " Mundo" );
System.out.println( str ); } }
ROLANDO RAMIREZ RUIZ
INV: STRING BUFFER TOPICOS SELECTOS DE PROGRAMACION
GRUPO:3VS
En este otro ejemplo, CadInversa.java , mostramos un método muy simple que le da la
vuelta a una cadena:

class CadInversa { public static String cadenaInversa( String fuente ) {


int longitud = fuente.length(); StringBuffer destino = new
StringBuffer( longitud ); for( int i=(longitud-1); i >= 0; i-- )
destino.append( fuente.charAt( i ) ); return( destino.toString() ); }
public static void main( String args[] )
{ System.out.println( cadenaInversa( "Hola Mundo" ) ); } }

Las funciones que cambian el tamaño son pues:

StringBuffer append( Object obj ); StringBuffer append( String str );


StringBuffer append( char str[] ); StringBuffer append( char str[],int
offset,int len ); StringBuffer append( boolean b ); StringBuffer
append( int i ); StringBuffer append( long l ); StringBuffer
append( float f ); StringBuffer append( double d ); StringBuffer
append( char ch ); StringBuffer insert( int offset,Object obj );
StringBuffer insert( int offset,String str ); StringBuffer insert( int
offset,char str[] ); StringBuffer insert( int offset,boolean b );
StringBuffer insert( int offset,int i ); StringBuffer insert( int
offset,long l ); StringBuffer insert( int offset,float f ); StringBuffer
insert( int offset,double d ); StringBuffer insert( int offset,char ch );

Operadores de Concatenación

Hay que recordar que los operadores " + " y " += " también se pueden aplicar a cadenas.
Ambos realizan una concatenación y están implementados con objetos StringBuffer.

Por ejemplo, la sentencia:

String s = "¿Qué" + " tal ?";

es interpretada por el compilador como:

String s = new StringBuffer().append( "¿Qué" ).append( " tal ?"


).toString();

y se marcaría el StringBuffer para borrarlo ya que el contenido pasa al objeto String.


También, la sentencia:

s += " por ahí!";

sería interpretada por el sistema como:

String s = new StringBuffer().append( s ).append( " por ahí!"


).toString();

y volvería a marcar para borrar el nuevo StringBuffer.


ROLANDO RAMIREZ RUIZ
INV: STRING BUFFER TOPICOS SELECTOS DE PROGRAMACION
GRUPO:3VS

Constructor Resumen
StringBuffer ()
Construye un búfer de cadena sin caracteres en ella y una capacidad inicial
de 16 caracteres.

StringBuffer ( CharSequence seq)


Construye un búfer de cadena que contiene los mismos caracteres que los
especificados CharSequence .

StringBuffer (int capacity)


Construye un búfer de cadena sin caracteres en ella y la capacidad inicial
especificada.

StringBuffer ( String str)


Construye un búfer de la cadena inicializada con el contenido de la cadena
especificada.

Resumen de métodos
StringBuffer append (boolean b)
Anexa a la representación de cadena de la boolean argumento de
la secuencia.

StringBuffer append (char c)


Añade la representación de cadena del char argumento para esta
secuencia.

StringBuffer append (char[] str)


Añade la representación de cadena del char argumento arreglo a
esta secuencia.

StringBuffer append (char[] str, int offset, int len)


Anexa a la representación de cadena de una submatriz de la char
argumento arreglo a esta secuencia.

StringBuffer append ( CharSequence s)


Añade la especificada CharSequence a esta secuencia.

StringBuffer append ( CharSequence s, int start, int end)


Añade una subsecuencia de la especificada CharSequence a esta
ROLANDO RAMIREZ RUIZ
INV: STRING BUFFER TOPICOS SELECTOS DE PROGRAMACION
GRUPO:3VS
secuencia.

StringBuffer append (double d)


Anexa a la representación de cadena de la double argumento
para esta secuencia.

StringBuffer append (float f)


Anexa a la representación de cadena de la float argumento para
esta secuencia.

StringBuffer append (int i)


Anexa a la representación de cadena de la int argumento para
esta secuencia.

StringBuffer append (long lng)


Anexa a la representación de cadena de la long discusión de esta
secuencia.

StringBuffer append ( Object obj)


Añade la representación de cadena del Object argumento.

StringBuffer append ( String str)


Añade la cadena especificada en esta secuencia de caracteres.

StringBuffer append ( StringBuffer sb)


Añade la StringBuffer especificado a esta secuencia.

StringBuffer appendCodePoint (int codePoint)


Añade la representación de cadena del codePoint argumento
para esta secuencia.

int capacity ()
Devuelve la capacidad actual.

char charAt (int index)


Devuelve el char valor de esta secuencia en el índice
especificado.

int codePointAt (int index)


Devuelve el carácter (código de punto de Unicode) en el índice
especificado.

int codePointBefore (int index)


Devuelve el carácter (código de punto de Unicode) antes de que
ROLANDO RAMIREZ RUIZ
INV: STRING BUFFER TOPICOS SELECTOS DE PROGRAMACION
GRUPO:3VS
el índice especificado.

int codePointCount (int beginIndex, int endIndex)


Devuelve el número de puntos de código Unicode en el intervalo
de texto específico de esta secuencia.

StringBuffer delete (int start, int end)


Elimina los caracteres de una subcadena de esta secuencia.

StringBuffer deleteCharAt (int index)


Elimina los char en la posición especificada en esta secuencia.

void ensureCapacity (int minimumCapacity)


Asegura que la capacidad sea al menos igual al mínimo
especificado.

void getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)

Los personajes son copiados de esta secuencia en la matriz de


caracteres de destino dst .

int indexOf ( String str)


Devuelve el índice dentro de esta cadena de la primera aparición
de la subcadena especificada.

int indexOf ( String str, int fromIndex)


Devuelve el índice dentro de esta cadena de la primera aparición
de la subcadena especificada, empezando por el índice
especificado.

StringBuffer insert (int offset, boolean b)


Inserta la representación de cadena de la boolean argumento en
esta secuencia.

StringBuffer insert (int offset, char c)


Inserta la representación de cadena de char en el argumento de
esta secuencia.

StringBuffer insert (int offset, char[] str)


Inserta la representación de cadena de char argumento arreglo
en esta secuencia.

StringBuffer insert (int index, char[] str, int offset, int len)
Inserta la representación de cadena de una submatriz de la str
ROLANDO RAMIREZ RUIZ
INV: STRING BUFFER TOPICOS SELECTOS DE PROGRAMACION
GRUPO:3VS
argumento arreglo en esta secuencia.

StringBuffer insert (int dstOffset, CharSequence s)


especificada Inserta el CharSequence en esta secuencia.

StringBuffer insert (int dstOffset, CharSequence s, int start, int end)


Inserta una subsecuencia de los especificados CharSequence en
esta secuencia.

StringBuffer insert (int offset, double d)


Inserta la representación de cadena de la double argumento en
esta secuencia.

StringBuffer insert (int offset, float f)


Inserta la representación de cadena de la float argumento en
esta secuencia.

StringBuffer insert (int offset, int i)


Inserta la representación de cadena de la segunda int
argumento en esta secuencia.

StringBuffer insert (int offset, long l)


Inserta la representación de cadena de la long discusión en esta
secuencia.

StringBuffer insert (int offset, Object obj)


Inserta la representación de cadena del Object discusión en esta
secuencia de caracteres.

StringBuffer insert (int offset, String str)


Inserta la cadena en esta secuencia de caracteres.

int lastIndexOf ( String str)


Devuelve el índice dentro de esta cadena de la ocurrencia más a
la derecha de la subcadena especificada.

int lastIndexOf ( String str, int fromIndex)


Devuelve el índice dentro de esta cadena de la última aparición
de la subcadena especificada.

int length ()
Devuelve la longitud (número de caracteres).

int offsetByCodePoints (int index, int codePointOffset)


ROLANDO RAMIREZ RUIZ
INV: STRING BUFFER TOPICOS SELECTOS DE PROGRAMACION
GRUPO:3VS
Devuelve el índice dentro de esta secuencia que se compensa de
la propuesta index por codePointOffset puntos de código.

StringBuffer replace (int start, int end, String str)


Reemplaza los caracteres de una subcadena de esta secuencia
con caracteres del String .

StringBuffer reverse ()
Las causas de esta secuencia de caracteres que se sustituye por
el revés de la secuencia.

void setCharAt (int index, char ch)


El carácter en el índice especificado se establece en ch .

void setLength (int newLength)


Establece la longitud de la secuencia de caracteres.

CharSequence subSequence (int start, int end)


Devuelve una secuencia de caracteres nuevo que es una
subsecuencia de esta secuencia.

String substring (int start)


Devuelve una nueva String que contiene una subsecuencia de
caracteres que figuran actualmente en esta secuencia de
caracteres.

String substring (int start, int end)


Devuelve una nueva String que contiene una subsecuencia de
caracteres que figuran actualmente en esta secuencia.

String toString ()
Devuelve una cadena que representa los datos en esta
secuencia.

void trimToSize ()
Los intentos de reducir el almacenamiento usado para la
secuencia de caracteres.