Constructor de cadenas en Java representa una secuencia mutable de caracteres. Dado que la clase String en Java crea una secuencia inmutable de caracteres, la clase StringBuilder proporciona una alternativa a la clase String, ya que crea una secuencia mutable de caracteres. La función de StringBuilder es muy similar a la clase StringBuffer, ya que ambas proporcionan una alternativa a la clase String al crear una secuencia mutable de caracteres. Sin embargo, la clase StringBuilder se diferencia de la clase StringBuffer en función de la sincronización. La clase StringBuilder no proporciona ninguna garantía de sincronización, mientras que la clase StringBuffer sí. Por lo tanto, esta clase está diseñada para usarse como reemplazo directo de StringBuffer en lugares donde StringBuffer estaba siendo utilizado por un solo subproceso (como suele ser el caso). Siempre que sea posible, se recomienda utilizar esta clase con preferencia a StringBuffer, ya que será más rápida en la mayoría de las implementaciones. Las instancias de StringBuilder no son seguras para que las utilicen varios subprocesos. Si se requiere dicha sincronización, se recomienda utilizar StringBuffer. String Builder no es seguro para subprocesos y tiene un alto rendimiento en comparación con String buffer.
al método de cadena en java
La jerarquía de clases es la siguiente:
java.lang.Object ↳ java.lang ↳ Class StringBuilder>
Sintaxis:
public final class StringBuilder extends Object implements Serializable, CharSequence>
Constructores en la clase Java StringBuilder
- StringBuilder(): construye un generador de cadenas sin caracteres y con una capacidad inicial de 16 caracteres. StringBuilder (capacidad int): construye un generador de cadenas sin caracteres y con una capacidad inicial especificada por el argumento de capacidad. StringBuilder (CharSequence seq): construye un generador de cadenas que contiene los mismos caracteres que la CharSequence especificada. StringBuilder (String str): construye un generador de cadenas inicializado con el contenido de la cadena especificada.
A continuación se muestra un programa de muestra para ilustrar StringBuilder en Java.
Java
// Java Code to illustrate StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)>throws> Exception> >{> >// Create a StringBuilder object> >// using StringBuilder() constructor> >StringBuilder str =>new> StringBuilder();> >str.append(>'GFG'>);> >// print string> >System.out.println(>'String = '> + str.toString());> >// create a StringBuilder object> >// using StringBuilder(CharSequence) constructor> >StringBuilder str1> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String1 = '> + str1.toString());> >// create a StringBuilder object> >// using StringBuilder(capacity) constructor> >StringBuilder str2 =>new> StringBuilder(>10>);> >// print string> >System.out.println(>'String2 capacity = '> >+ str2.capacity());> >// create a StringBuilder object> >// using StringBuilder(String) constructor> >StringBuilder str3> >=>new> StringBuilder(str1.toString());> >// print string> >System.out.println(>'String3 = '> + str3.toString());> >}> }> |
>
>Producción
String = GFG String1 = AAAABBBCCCC String2 capacity = 10 String3 = AAAABBBCCCC>
Métodos en Java StringBuilder
Agregar StringBuilder (X x) : este método agrega la representación de cadena del argumento de tipo X a la secuencia.
- StringBuilder appendCodePoint (int codePoint) : este método agrega la representación de cadena del argumento codePoint a esta secuencia.
- capacidad interna() : Este método devuelve la capacidad actual.
- char charAt(índice int) : Este método devuelve el valor de carácter en esta secuencia en el índice especificado. IntStream chars(): este método devuelve una secuencia de int cero que extiende los valores de caracteres de esta secuencia.
- int códigoPointAt(índice int) : Este método devuelve el carácter (punto de código Unicode) en el índice especificado.
- int codePointBefore(índice int) : Este método devuelve el carácter (punto de código Unicode) antes del índice especificado.
- int codePointCount(int comenzarIndex, int endIndex) : este método devuelve el número de puntos de código Unicode en el rango de texto especificado de esta secuencia. IntStream codePoints(): este método devuelve un flujo de valores de puntos de código de esta secuencia.
- Eliminar StringBuilder (int inicio, int fin) : este método elimina los caracteres de una subcadena de esta secuencia. StringBuilder deleteCharAt(int index): este método elimina el carácter en la posición especificada en esta secuencia.
- void asegurarCapacidad (int capacidad mínima) : Este método garantiza que la capacidad sea al menos igual al mínimo especificado.
- void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : Los caracteres de este método se copian de esta secuencia a la matriz de caracteres de destino dst.
- int índice de() : este método devuelve el índice dentro de esta cadena de la primera aparición de la subcadena especificada. StringBuilder insert(int offset, boolean b): este método inserta la representación de cadena del argumento alternativo booleano en esta secuencia. StringBuilder insert(): este método inserta la representación de cadena del argumento char en esta secuencia.
- int último índice de() : este método devuelve el índice dentro de esta cadena de la última aparición de la subcadena especificada.
- longitud entera() : Este método devuelve la longitud (recuento de caracteres). int offsetByCodePoints(int index, int codePointOffset): este método devuelve el índice dentro de esta secuencia que está desplazado del índice dado por los puntos de código codePointOffset.
- Reemplazo de StringBuilder (int inicio, int fin, cadena cadena) : este método reemplaza los caracteres de una subcadena de esta secuencia con caracteres de la cadena especificada.
- StringBuilder inverso() : Este método hace que esta secuencia de caracteres sea reemplazada por el reverso de la secuencia.
- void setCharAt(índice int, char ch) : En este método, el carácter en el índice especificado se establece en ch.
- void setLength(int nuevaLongitud) : este método establece la longitud de la secuencia de caracteres.
- SubSequence CharSequence (int inicio, int fin) : este método devuelve una nueva secuencia de caracteres que es una subsecuencia de esta secuencia.
- Subcadena de cadena() : este método devuelve una nueva cadena que contiene una subsecuencia de caracteres contenidos actualmente en esta secuencia de caracteres.
- Cadena a Cadena() : este método devuelve una cadena que representa los datos de esta secuencia.
- recorte vacíoToSize() : este método intenta reducir el almacenamiento utilizado para la secuencia de caracteres.
Ejemplo:
Java
// Java code to illustrate> // methods of StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)> >throws> Exception> >{> >// create a StringBuilder object> >// with a String pass as parameter> >StringBuilder str> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String = '> >+ str.toString());> >// reverse the string> >StringBuilder reverseStr = str.reverse();> >// print string> >System.out.println(>'Reverse String = '> >+ reverseStr.toString());> >// Append ', '(44) to the String> >str.appendCodePoint(>44>);> >// Print the modified String> >System.out.println(>'Modified StringBuilder = '> >+ str);> >// get capacity> >int> capacity = str.capacity();> >// print the result> >System.out.println(>'StringBuilder = '> + str);> >System.out.println(>'Capacity of StringBuilder = '> >+ capacity);> >}> }> |
>
>
tira de pitónProducción
String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>
StringBuilder es otra clase de Java que se utiliza para manipular cadenas. Al igual que StringBuffer, es una clase mutable que permite modificar el contenido de la cadena que representa. Sin embargo, StringBuilder no es seguro para subprocesos, por lo que no debe usarse en un entorno de subprocesos múltiples.
Aquí hay algunos ejemplos de cómo usar StringBuilder en Java:
Java
public> class> StringBuilderExample {> >public> static> void> main(String[] args) {> >StringBuilder sb =>new> StringBuilder();> >sb.append(>'Hello'>);> >sb.append(>' '>);> >sb.append(>'world!'>);> >System.out.println(sb.toString());>// Output: 'Hello world!'> > >sb.insert(>6>,>'beautiful '>);> >System.out.println(sb.toString());>// Output: 'Hello beautiful world!'> > >sb.reverse();> >System.out.println(sb.toString());>// Output: '!dlrow lufituaeb olleH'> >}> }> |
>
número palíndromo
>Producción
Hello world! Hello beautiful world! !dlrow lufituaeb olleH>