SlideShare a Scribd company logo
1 of 11
PRESENTACIÓN DE
PROGRAMACIÓN 2
-USO CADENAS EN JAVA (STRINGBUFFER)
NOMBRE: JASON MATUS BURGOS
DOCENTE: LESBIA VALERIO
Uso de cadenas en Java
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.
Constructores StringBuffer
StringBuffer()
-Crea un StringBuffer vacio y una capacidad inicial de 16 caracteres
StringBuffer sb= new StringBuffer();
StringBuffer(int capacity)
-Construye un StringBuffer vacio y una capacidad inicial especificada
StringBuffer(String str)
-Construye un StringBuffer y le asigna el contenido del String str
String str= “ejemplo”;
StringBuffer sb= new StringBuffer(str);
Métodos de la clase StringBuffer
La clase StringBuffer se utiliza prácticamente siempre que se desee
modificar una cadena de caracteres. Completa los métodos de la clase
String ya que éstos realizan sólo operaciones sobre el texto que no
conllevan un aumento o disminución del número de letras del String.
Recuérdese que hay muchos métodos cuyos argumentos deben ser
objetos String. que antes de pasar esos argumentos habrá que realizar
la conversión correspondiente.
Length() Devuelve el numero de caracteres en la
cadena.
Capacity() Devuelve el espacio libre del
StringBuffer
CharAt(int) Devuelve el carácter en la posición
especifica
getChars(int,int,char[],int) copia los caracteres indicados en la
posición indicada de un array de
caracteres
Insert() inserta un string o un valor
(int,float,doublé,…) en la posición
especificada de un StringBuffer
reverse() Cambia el orden de los caracteres
setCharAt(int,char) Cambia el carácter en la posición
indicada
setLength(int) Cambia el tamaño del StringBuffer
toString() Convierte en objeto de tipo String
Delete(int start,int end) Remueve los caracteres del
StringBuffer ,según los intervalos de
posición dado , comienza en start y
termina en end-1
si se ingresa mismo valor en start y
end ningún cambio será efectuado
Append(x) Añade X al final de la cadena. X
puede ser de cualquier tipo
Metodos de la clase String, StringBuffer, StringBuilder
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html
http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html
EJEMPLO
class CadAppend {
public static void main( String args[] ) {
StringBuffer str = new StringBuffer( "Hola" );
str.append( " Mundo" );
System.out.println( str );
}
}
Ejemplo
Import java.lang.StringBuffer.*;
public class Stringbuff {
public static void main(String[] args) {
String s = "1234567890";
s = separarMiles(s);
System.out.println(s);
}
public static String separarMiles(String s){
//creamos un StringBuffer a partir del String s
StringBuffer aux = new StringBuffer(s);
//le damos la vuelta
aux.reverse();
//variable que indica donde insertar el siguiente punto
int posicion = 3;
//mientras no lleguemos al final del número
while(posicion <aux.length()){
//insertamos un punto en la posición
aux.insert(posicion,'.');
//siguiente posición donde insertar
posicion+=4;
}
//le damos de nuevo la vuelta
aux.reverse();
//el StringBuffer se pasa a String y se devuelve
return aux.toString();
}
}
Diferencias entre clases de cadena en Java
La clase String es una clase no modificable. Esto quiere decir que cuando se modifica un
String se crea un nuevo objeto String modificado a partir del original y el recolector de basura
es el encargado de eliminar de la memoria el String original.
Java proporciona la clase StringBuffer y a partir de Java 5 la clase StringBuilder para trabajar
con cadenas de caracteres sobre las que vamos a realizar modificaciones frecuentes de su
contenido.
La diferencia entre StringBuffer y StringBuilder es que los métodos de StringBuffer están
sincronizados y los de StringBuilder no lo están. Por este motivo StringBuilder ofrece mejor
rendimiento que StringBuffer y la utilizaremos cuando la aplicación tenga un solo hilo de
ejecución.
En general decidiremos cuando usar String, StringBuilder o StringBuffer según lo siguiente:
- Usaremos String si la cadena de caracteres no va a cambiar.
- Usaremos StringBuilder si la cadena de caracteres puede cambiar y solamente
tenemos un hilo de ejecución.
- Usaremos StringBuffer si la cadena de caracteres puede cambiar y tenemos varios
hilos de ejecución.
Conclusión
En la amplia mayoría de los casos es recomendable utilizar la clase StringBuilder para
concatenar cadenas de caracteres. La clase StringBuilder tiene el mismo API que
StringBuffer, por lo que reemplazar código que usa StringBuffer es relativamente sencillo.
La única salvedad sería si la concatenación ocurre en un entorno multihilos, donde diferentes
hilos van modificando la misma concatenación. De todas formas, en la mayoría de los casos
la concatenación ocurre en variables locales dentro de métodos, por lo que el uso de
StringBuilder sigue siendo la opción recomendada.
Muchas gracias :D

More Related Content

Viewers also liked

Conceptos básicos de la computadora
Conceptos básicos de la computadoraConceptos básicos de la computadora
Conceptos básicos de la computadoraCastilloUlloa
 
Cuestionario generaciones
Cuestionario generacionesCuestionario generaciones
Cuestionario generacionesGenesis Pincay
 
Diana trabajo de laboratorio
Diana trabajo de laboratorioDiana trabajo de laboratorio
Diana trabajo de laboratorioDiana Ramos
 
Metabolismo del fosforo
Metabolismo del fosforoMetabolismo del fosforo
Metabolismo del fosforoGenesis Pincay
 
Propuesta para la transformacion de energia eolica a electrica
Propuesta para la transformacion de energia eolica a electricaPropuesta para la transformacion de energia eolica a electrica
Propuesta para la transformacion de energia eolica a electricasergiodtrujilloperez
 
Abp. análisis de un proyecto
Abp. análisis de un proyectoAbp. análisis de un proyecto
Abp. análisis de un proyectomonicamoragues
 
Cuestionario de informatica 1
Cuestionario de informatica 1Cuestionario de informatica 1
Cuestionario de informatica 1Genesis Pincay
 
Software libre
Software libreSoftware libre
Software librenanda1216
 
El plagio giovanni
El plagio giovanniEl plagio giovanni
El plagio giovannigiovapetit
 
Presentacion de juddy
Presentacion de juddyPresentacion de juddy
Presentacion de juddyjuddyan
 
Modulo 1 unidad 3
Modulo 1 unidad 3Modulo 1 unidad 3
Modulo 1 unidad 3jaov246
 
Estudiar el MIR con ExamTime
Estudiar el MIR con ExamTimeEstudiar el MIR con ExamTime
Estudiar el MIR con ExamTimeGoConqr
 
Ley 28518 exposicion
Ley 28518 exposicionLey 28518 exposicion
Ley 28518 exposicionWilbert CH
 
Ecuación de primer grado con una incógnita
Ecuación de primer grado con una incógnitaEcuación de primer grado con una incógnita
Ecuación de primer grado con una incógnitaRudi Rodriguez
 

Viewers also liked (20)

Conceptos básicos de la computadora
Conceptos básicos de la computadoraConceptos básicos de la computadora
Conceptos básicos de la computadora
 
Cuestionario generaciones
Cuestionario generacionesCuestionario generaciones
Cuestionario generaciones
 
Diana trabajo de laboratorio
Diana trabajo de laboratorioDiana trabajo de laboratorio
Diana trabajo de laboratorio
 
Metabolismo del fosforo
Metabolismo del fosforoMetabolismo del fosforo
Metabolismo del fosforo
 
Actividad bgi 1
Actividad bgi 1 Actividad bgi 1
Actividad bgi 1
 
La leucemia
La leucemiaLa leucemia
La leucemia
 
Propuesta para la transformacion de energia eolica a electrica
Propuesta para la transformacion de energia eolica a electricaPropuesta para la transformacion de energia eolica a electrica
Propuesta para la transformacion de energia eolica a electrica
 
Abp. análisis de un proyecto
Abp. análisis de un proyectoAbp. análisis de un proyecto
Abp. análisis de un proyecto
 
Cuestionario de informatica 1
Cuestionario de informatica 1Cuestionario de informatica 1
Cuestionario de informatica 1
 
Grupo 5
Grupo 5Grupo 5
Grupo 5
 
Presentación1
Presentación1Presentación1
Presentación1
 
Software libre
Software libreSoftware libre
Software libre
 
El plagio giovanni
El plagio giovanniEl plagio giovanni
El plagio giovanni
 
Presentacion de juddy
Presentacion de juddyPresentacion de juddy
Presentacion de juddy
 
Modulo 1 unidad 3
Modulo 1 unidad 3Modulo 1 unidad 3
Modulo 1 unidad 3
 
Estudiar el MIR con ExamTime
Estudiar el MIR con ExamTimeEstudiar el MIR con ExamTime
Estudiar el MIR con ExamTime
 
Programa Preliminar II Congreso Conjunto MFAPS
Programa Preliminar II Congreso Conjunto MFAPSPrograma Preliminar II Congreso Conjunto MFAPS
Programa Preliminar II Congreso Conjunto MFAPS
 
Ley 28518 exposicion
Ley 28518 exposicionLey 28518 exposicion
Ley 28518 exposicion
 
Interracion
InterracionInterracion
Interracion
 
Ecuación de primer grado con una incógnita
Ecuación de primer grado con una incógnitaEcuación de primer grado con una incógnita
Ecuación de primer grado con una incógnita
 

Similar to Uso de cadenas en java (20)

Leccion 12 Java
Leccion 12 JavaLeccion 12 Java
Leccion 12 Java
 
Longitud de cadena y funciones en java
Longitud de cadena y funciones en javaLongitud de cadena y funciones en java
Longitud de cadena y funciones en java
 
Funciones de cadenas - Javascript para principiantes (fácil, rápido y efectivo)
Funciones de cadenas - Javascript para principiantes (fácil, rápido y efectivo)Funciones de cadenas - Javascript para principiantes (fácil, rápido y efectivo)
Funciones de cadenas - Javascript para principiantes (fácil, rápido y efectivo)
 
Java & Strings
Java & StringsJava & Strings
Java & Strings
 
Implementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en TextoImplementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en Texto
 
Apoo v
Apoo vApoo v
Apoo v
 
Uso de apis en java
Uso de apis en javaUso de apis en java
Uso de apis en java
 
Uso de apis en java
Uso de apis en javaUso de apis en java
Uso de apis en java
 
Leccion3
Leccion3Leccion3
Leccion3
 
Nuevos metodos en java8
Nuevos metodos en java8Nuevos metodos en java8
Nuevos metodos en java8
 
Semana03 prog ii
Semana03 prog iiSemana03 prog ii
Semana03 prog ii
 
1 1 3 Api De Java
1 1 3 Api De Java1 1 3 Api De Java
1 1 3 Api De Java
 
Strings
StringsStrings
Strings
 
Js control de flujo
Js control de flujoJs control de flujo
Js control de flujo
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion java
 
Presentacion metodos de lectura
Presentacion metodos de lecturaPresentacion metodos de lectura
Presentacion metodos de lectura
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Compras
 
Zope Page Templates
Zope Page TemplatesZope Page Templates
Zope Page Templates
 
Java y xml
Java y xmlJava y xml
Java y xml
 
Tipos de datos en java.pptx
Tipos de datos en java.pptxTipos de datos en java.pptx
Tipos de datos en java.pptx
 

Recently uploaded

Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxChristopherOlave2
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismosaultorressep
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 

Recently uploaded (20)

Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptx
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismo
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 

Uso de cadenas en java

  • 1. PRESENTACIÓN DE PROGRAMACIÓN 2 -USO CADENAS EN JAVA (STRINGBUFFER) NOMBRE: JASON MATUS BURGOS DOCENTE: LESBIA VALERIO
  • 2. Uso de cadenas en Java 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.
  • 3. Constructores StringBuffer StringBuffer() -Crea un StringBuffer vacio y una capacidad inicial de 16 caracteres StringBuffer sb= new StringBuffer(); StringBuffer(int capacity) -Construye un StringBuffer vacio y una capacidad inicial especificada StringBuffer(String str) -Construye un StringBuffer y le asigna el contenido del String str String str= “ejemplo”; StringBuffer sb= new StringBuffer(str);
  • 4. Métodos de la clase StringBuffer La clase StringBuffer se utiliza prácticamente siempre que se desee modificar una cadena de caracteres. Completa los métodos de la clase String ya que éstos realizan sólo operaciones sobre el texto que no conllevan un aumento o disminución del número de letras del String. Recuérdese que hay muchos métodos cuyos argumentos deben ser objetos String. que antes de pasar esos argumentos habrá que realizar la conversión correspondiente.
  • 5. Length() Devuelve el numero de caracteres en la cadena. Capacity() Devuelve el espacio libre del StringBuffer CharAt(int) Devuelve el carácter en la posición especifica getChars(int,int,char[],int) copia los caracteres indicados en la posición indicada de un array de caracteres Insert() inserta un string o un valor (int,float,doublé,…) en la posición especificada de un StringBuffer reverse() Cambia el orden de los caracteres setCharAt(int,char) Cambia el carácter en la posición indicada setLength(int) Cambia el tamaño del StringBuffer
  • 6. toString() Convierte en objeto de tipo String Delete(int start,int end) Remueve los caracteres del StringBuffer ,según los intervalos de posición dado , comienza en start y termina en end-1 si se ingresa mismo valor en start y end ningún cambio será efectuado Append(x) Añade X al final de la cadena. X puede ser de cualquier tipo Metodos de la clase String, StringBuffer, StringBuilder http://docs.oracle.com/javase/7/docs/api/java/lang/String.html http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html
  • 7. EJEMPLO class CadAppend { public static void main( String args[] ) { StringBuffer str = new StringBuffer( "Hola" ); str.append( " Mundo" ); System.out.println( str ); } }
  • 8. Ejemplo Import java.lang.StringBuffer.*; public class Stringbuff { public static void main(String[] args) { String s = "1234567890"; s = separarMiles(s); System.out.println(s); } public static String separarMiles(String s){ //creamos un StringBuffer a partir del String s StringBuffer aux = new StringBuffer(s); //le damos la vuelta aux.reverse(); //variable que indica donde insertar el siguiente punto int posicion = 3; //mientras no lleguemos al final del número while(posicion <aux.length()){ //insertamos un punto en la posición aux.insert(posicion,'.'); //siguiente posición donde insertar posicion+=4; } //le damos de nuevo la vuelta aux.reverse(); //el StringBuffer se pasa a String y se devuelve return aux.toString(); } }
  • 9. Diferencias entre clases de cadena en Java La clase String es una clase no modificable. Esto quiere decir que cuando se modifica un String se crea un nuevo objeto String modificado a partir del original y el recolector de basura es el encargado de eliminar de la memoria el String original. Java proporciona la clase StringBuffer y a partir de Java 5 la clase StringBuilder para trabajar con cadenas de caracteres sobre las que vamos a realizar modificaciones frecuentes de su contenido. La diferencia entre StringBuffer y StringBuilder es que los métodos de StringBuffer están sincronizados y los de StringBuilder no lo están. Por este motivo StringBuilder ofrece mejor rendimiento que StringBuffer y la utilizaremos cuando la aplicación tenga un solo hilo de ejecución. En general decidiremos cuando usar String, StringBuilder o StringBuffer según lo siguiente: - Usaremos String si la cadena de caracteres no va a cambiar. - Usaremos StringBuilder si la cadena de caracteres puede cambiar y solamente tenemos un hilo de ejecución. - Usaremos StringBuffer si la cadena de caracteres puede cambiar y tenemos varios hilos de ejecución.
  • 10. Conclusión En la amplia mayoría de los casos es recomendable utilizar la clase StringBuilder para concatenar cadenas de caracteres. La clase StringBuilder tiene el mismo API que StringBuffer, por lo que reemplazar código que usa StringBuffer es relativamente sencillo. La única salvedad sería si la concatenación ocurre en un entorno multihilos, donde diferentes hilos van modificando la misma concatenación. De todas formas, en la mayoría de los casos la concatenación ocurre en variables locales dentro de métodos, por lo que el uso de StringBuilder sigue siendo la opción recomendada.