Documente Academic
Documente Profesional
Documente Cultură
BARRANQUILLA ATLANTICO
octubre de 2019
Contenido
Introducción ....................................................................................................................... 3
class String ........................................................................................................................ 3
Constructores class string: ............................................................................................. 5
Métodos más utilizados class String ............................................................................... 6
Class StringBuffer .............................................................................................................. 7
Constructores class StringBuffer .................................................................................... 8
Métodos más utilizados .................................................................................................. 8
Class StringBuilder ............................................................................................................ 9
Constructores: .............................................................................................................. 10
Métodos más utilizados: ............................................................................................... 11
Class StringJoiner............................................................................................................ 12
Constructor:.................................................................................................................. 12
Métodos más usados: .................................................................................................. 12
Class StringTokenizer ...................................................................................................... 13
Constructor:.................................................................................................................. 15
Métodos mas utilizados: ............................................................................................... 15
Diferencias entre las clases String, StringBuffer y StringBuilder....................................... 16
Finalidad de las clases StringJoiner y StringTokenizer .................................................... 17
Conclusiones: .................................................................................................................. 17
Bibliografía ....................................................................................................................... 18
Introducción
Una cadena es una secuencia de caracteres, las cadenas son muy fundamentales en la
cadenas por ejemplo la clase String es la representación como objeto de una matriz de
caracteres que no se puede cambiar. Hay una clase que la acompaña, llamada
StringBuffer, que se utiliza para crear cadenas que pueden ser manipuladas después de
StringTokenizer
class String
Las cuerdas son constantes; sus valores no se pueden cambiar después de que
se crean. Los amortiguadores de cadena admiten cadenas mutables. Como los
objetos de cadena son inmutables, se pueden compartir. Por ejemplo:
Aquí hay algunos ejemplos más de cómo se pueden usar las cadenas:
System.out.println ("abc");
La Stringclase proporciona métodos para tratar con puntos de código Unicode (es
decir, caracteres), además de aquellos para tratar con unidades de código
Unicode (es decir, charvalores). (docs.oracle, s.f.)
Constructores class string:
String()
Inicializa un Stringobjeto recién creado para que represente una secuencia de caracteres
vacía.
String(byte[] bytes)
Construye un nuevo String decodificando la matriz de bytes especificada usando el juego
de caracteres predeterminado de la plataforma.
String(char[] value)
Asigna un nuevo Stringpara que represente la secuencia de caracteres actualmente
contenidos en el argumento de matriz de caracteres.
String(String original)
Inicializa un Stringobjeto recién creado para que represente la misma secuencia de
caracteres que el argumento; en otras palabras, la cadena recién creada es una copia de
la cadena de argumento.
String(StringBuffer buffer)
Asigna una nueva cadena que contiene la secuencia de caracteres actualmente
contenidos en el argumento del búfer de cadena.
String(StringBuilder builder)
Asigna una nueva cadena que contiene la secuencia de caracteres actualmente
contenidos en el argumento del generador de cadenas. (docs.oracle, s.f.)
Métodos más utilizados class String
charAt(int index)
Devuelve el charvalor en el índice especificado.
compareToIgnoreCase(String str)
Compara dos cadenas lexicográficamente, ignorando las diferencias entre mayúsculas y
minúsculas.
concat(String str)
Concatena la cadena especificada al final de esta cadena.
copyValueOf(char[] data)
Devuelve una cadena que representa la secuencia de caracteres en la matriz
especificada.
endsWith(String suffix)
Comprueba si esta cadena termina con el sufijo especificado.
equals(Object anObject)
Compara esta cadena con el objeto especificado.
getBytes()
Codifica esto Stringen una secuencia de bytes usando el juego de caracteres
predeterminado de la plataforma, almacenando el resultado en una nueva matriz de bytes.
indexOf(int ch)
Devuelve el índice dentro de esta cadena de la primera aparición del carácter
especificado.
isEmpty()
Devuelve verdadero si, y solo si, length()es 0 .
length()
Devuelve la longitud de esta cadena.
toString()
Este objeto (que ya es una cadena) se devuelve.
valueOf(boolean b)
Devuelve la representación de cadena del booleanargumento. (docs.oracle, s.f.)
Class StringBuffer
Las operaciones principales en a StringBufferson los métodos appendy insert, que están
sobrecargados para aceptar datos de cualquier tipo. Cada uno convierte efectivamente un
dato dado en una cadena y luego agrega o inserta los caracteres de esa cadena en el
búfer de cadena. El appendmétodo siempre agrega estos caracteres al final del búfer; El
insertmétodo agrega los caracteres en un punto específico.
Por ejemplo, si se refiere a un objeto de búfer de cadena cuyo contenido actual es " start",
entonces la llamada al método z.append("le")provocaría que el búfer de cadena contenga
" startle", mientras z.insert(4, "le")que alteraría el búfer de cadena que contiene " starlet".
Cuando se produce una operación que involucra una secuencia fuente (como agregar o
insertar desde una secuencia fuente), esta clase se sincroniza solo en el búfer de cadena
que realiza la operación, no en la fuente.
Cada buffer de cadena tiene una capacidad. Siempre que la longitud de la secuencia de
caracteres contenida en el búfer de cadena no exceda la capacidad, no es necesario
asignar una nueva matriz de búfer interno. Si el búfer interno se desborda, se agrandará
automáticamente. Como de la liberación de JDK 5, esta clase se ha complementado con
una clase equivalente diseñado para su uso por un solo hilo, StringBuilder. La clase
StringBuilder generalmente se debe usar con preferencia a esta, ya que admite todas las
mismas operaciones pero es más rápida, ya que no realiza sincronización. (oracle, s.f.)
StringBuffer(CharSequence seq)
Construye un búfer de cadena que contiene los mismos caracteres que el especificado
CharSequence.
StringBuffer(int capacity)
Construye un búfer de cadena sin caracteres y la capacidad inicial especificada.
StringBuffer(String str)
Construye un búfer de cadena inicializado al contenido de la cadena especificada.
append(boolean b)
Agrega la representación de cadena del boolean argumento a la secuencia.
capacity()
Devuelve la capacidad actual.
charAt(int index)
Devuelve el charvalor en esta secuencia en el índice especificado.
codePointAt(int index)
Devuelve el carácter (punto de código Unicode) en el índice especificado
indexOf(String str)
Devuelve el índice dentro de esta cadena de la primera aparición de la subcadena
especificada.
length()
Devuelve la longitud (recuento de caracteres).
reverse()
Hace que esta secuencia de caracteres se reemplace por el reverso de la secuencia.
toString()
Devuelve una cadena que representa los datos en esta secuencia.
trimToSize()
Intenta reducir el almacenamiento utilizado para la secuencia de caracteres.
Class StringBuilder
Esta clase proporciona una API compatible con StringBuffer, pero sin garantía de
sincronización. Esta clase está diseñada para usarse como un reemplazo directo
StringBufferen lugares donde el subproceso de cadena estaba siendo utilizado por un solo
subproceso (como suele ser el caso). Siempre que sea posible, se recomienda utilizar esta
clase con preferencia, StringBufferya que será más rápida en la mayoría de las
implementaciones.
Las operaciones principales en a StringBuilderson los métodos appendy insert, que están
sobrecargados para aceptar datos de cualquier tipo. Cada uno convierte efectivamente un
dato dado en una cadena y luego agrega o inserta los caracteres de esa cadena en el
generador de cadenas. El appendmétodo siempre agrega estos caracteres al final del
generador; El insertmétodo agrega los caracteres en un punto específico.
Por ejemplo, si se zrefiere a un objeto generador de cadenas cuyo contenido actual es "
start", entonces la llamada al método z.append("le")provocaría que el generador de cadenas
contenga " startle", mientras z.insert(4, "le")que alteraría el generador de cadenas para que
contenga " starlet".
Las instancias de StringBuilderno son seguras para su uso por varios subprocesos. Si se
requiere dicha sincronización, se recomienda StringBuffersu uso. (oracle, s.f.)
Constructores:
StringBuilder()
Construye un generador de cadenas sin caracteres y una capacidad inicial de 16
caracteres.
StringBuilder(CharSequence seq)
Construye un generador de cadenas que contiene los mismos caracteres que los
especificados CharSequence.
StringBuilder(int capacity)
Construye un generador de cadenas sin caracteres y una capacidad inicial especificada
por el capacityargumento.
StringBuilder(String str)
Construye un generador de cadenas inicializado con el contenido de la cadena
especificada.
append(boolean b)
Agrega la representación de cadena del boolean argumento a la secuencia.
capacity()
Devuelve la capacidad actual.
charAt(int index)
Devuelve el charvalor en esta secuencia en el índice especificado.
codePointAt(int index)
Devuelve el carácter (punto de código Unicode) en el índice especificado.
lastIndexOf(String str)
Devuelve el índice dentro de esta cadena de la aparición más a la derecha de la
subcadena especificada.
length()
Devuelve la longitud (recuento de caracteres).
reverse()
Hace que esta secuencia de caracteres se reemplace por el reverso de la secuencia.
toString()
Devuelve una cadena que representa los datos en esta secuencia.
trimToSize()
Intenta reducir el almacenamiento utilizado para la secuencia de caracteres.
Class StringJoiner
Constructor:
StringJoiner(CharSequence delimiter)
Construye un StringJoinersin caracteres en él, con no prefixo suffix, y una copia del
suministrado delimiter.
add(CharSequence newElement)
Agrega una copia del CharSequencevalor dado como el siguiente elemento del
StringJoinervalor.
length()
Devuelve la longitud de la Stringrepresentación de esto StringJoiner.
merge(StringJoiner other)
Agrega el contenido del dado StringJoinersin prefijo y sufijo como el siguiente elemento si
no está vacío.
setEmptyValue(CharSequence emptyValue)
Establece la secuencia de caracteres que se utilizará al determinar la representación de
cadena de este StringJoinery aún no se han agregado elementos, es decir, cuando está
vacío.
toString()
Devuelve el valor actual, que consiste en prefix, los valores agregados hasta ahora
separados por delimiter, y suffix, a menos que no se hayan agregado elementos en cuyo
caso, se devuelven prefix + suffixlos emptyValuecaracteres
Class StringTokenizer
La clase tokenizer de cadena permite que una aplicación divida una cadena en tokens. El
método de tokenización es mucho más simple que el utilizado por la StreamTokenizerclase.
Los StringTokenizermétodos no distinguen entre identificadores, números y cadenas entre
comillas, ni reconocen ni omiten comentarios.
El conjunto de delimitadores (los caracteres que separan los tokens) pueden especificarse
en el momento de la creación o por token.
Si la bandera es false, los caracteres delimitadores sirven para separar las fichas. Un token
es una secuencia máxima de caracteres consecutivos que no son delimitadores.
Si la bandera es true, los caracteres delimitadores se consideran fichas. Por lo tanto, un
token es un carácter delimitador o una secuencia máxima de caracteres consecutivos que no
son delimitadores.
Un objeto StringTokenizer mantiene internamente una posición actual dentro de la cadena
que se tokenizará. Algunas operaciones avanzan esta posición actual más allá de los
caracteres procesados.
Se devuelve un token tomando una subcadena de la cadena que se utilizó para crear el
objeto StringTokenizer .
El siguiente ejemplo ilustra cómo se puede usar el método String.split para dividir una
cadena en sus tokens básicos:
(docs.oracle, s.f.)
Constructor:
StringTokenizer(String str)
Construye un tokenizador de cadena para la cadena especificada.
countTokens()
Calcula el número de veces que nextTokense puede llamar al método de este tokenizer
antes de que genere una excepción.
hasMoreElements()
Devuelve el mismo valor que el hasMoreTokens método.
hasMoreTokens()
Comprueba si hay más tokens disponibles de la cadena de este tokenizador.
nextElement()
Devuelve el mismo valor que el nextTokenmétodo, excepto que su valor de retorno
declarado es en Objectlugar de String.
nextToken()
Devuelve el siguiente token de este tokenizador de cadena.
String es un objeto inmutable (una vez creado no se puede cambiar). El objeto creado como
un String se almacena en la Constant String Pool.
Cada objeto inmutable en Java es seguro para su utilización en los hilos, que implica que el
String es thread safe. Un String no puede ser utilizado por dos hilos simultáneamente.
Una vez asignado un valor a un String este no se puede modificar.
StringBuffer es mutable significa que podemos cambiar el valor del objeto. El objeto
creado a través de StringBuffer se almacena en el Heap. StringBuffer tiene los mismos
métodos que el StringBuilder, pero cada método en el StringBuffer es sincronizado, esto
quiere decir que StringBuffer estara protegido al usarse en hilos , es thread safe.
Debido a esto no se permite que dos hilos puedan acceder simultáneamente a el mismo
método. Cada método se puede acceder por un hilo a la vez. Pero al estar protegido en los
hilos tiene desventajas en el rendimiento del StringBuffer. Así StringBuilder es más rápido
que el StringBuffer al llamar a los mismos métodos de cada clase.
En el StringBuffer el valor puede ser modificado, significa que se puede asignar un nuevo
valor. Hoy en día es una de las preguntas de entrevista más común, las diferencias entre las
clases anteriores.
StringBuffer se puede convertir a String mediante el uso del
método toString().
Conclusiones:
Al considerar las cadenas como un tipo de datos, hay que definir (o conocer) cuales son
las operaciones que podemos hacer con ellas, en principio éstas podrían ser muchas y
llegar a ser muy sofisticadas. Una cadena suele ser representada entre comillas dobles
superiores ("palabra"), mientras que un carácter de esa cadena (un char en inglés) suele