Hay dos tipos de operaciones de cadena en Java: String Class y StringBuffer Class (clase de procesamiento de cadenas de búfer).
Hablemos brevemente sobre la diferencia entre los dos.
Tanto la clase String como la clase StringBuffer proporcionan métodos correspondientes para implementar operaciones de cadena, pero los dos son ligeramente diferentes.
(1) clase de cadena
Una vez que esta clase produce una cadena, su objeto es inmutable. El contenido y la longitud de la clase de cadena se fijan. Si el programa necesita obtener información de cadenas, es necesario llamar a varios métodos de operación de cadenas proporcionados por el sistema. Aunque las operaciones se pueden aplicar a las cadenas a través de varios métodos del sistema, esto no cambia la instancia de objeto en sí, sino que genera una nueva instancia. El sistema asigna memoria para los objetos de clase de cadena, que se asignan de acuerdo con el número real de caracteres contenidos en el objeto.
(2) clase StringBuffer
Revisé la palabra búfer, lo que significa almacenamiento en búfer, y esta clase debe tener una función de amortiguación. Esta clase maneja cadenas variables. Si desea modificar una cadena de clase StringBuffer, no necesita crear un nuevo objeto de cadena, sino operar directamente la cadena original. Los diversos métodos de operación de cadena de esta clase son diferentes de los proporcionados por la clase de cadena. Cuando el sistema asigna memoria para la clase StringBuffer, además del espacio ocupado por los caracteres actuales, también proporciona un búfer adicional de 16 caracteres. Cada objeto StringBuffer tiene una determinada capacidad de búfer. Cuando el tamaño de la cadena no excede la capacidad, no se asignará nueva capacidad. Cuando el tamaño de la cadena excede la capacidad, la capacidad aumentará automáticamente.
Aquí hay algunos ejemplos específicos
Conexión de cadena
Hay dos métodos para la clase de cadena
El primer tipo ("+")
clase pública str {public static void main (string [] args) {string str1 = "Agregar efectos especiales!"; Cadena str2 = "duang ~~"; System.out.println (str1+""+str2); }}El segundo tipo ("concat")
clase pública str {public static void main (string [] args) {string str1 = "Agregar efectos especiales!"; Cadena str2 = "duang ~~"; System.out.println (str1.concat (str2)); }}Métodos de clase StringBuffer
clase public str {public static void main (string [] args) {// construye un objeto que amortigua las cadenas sb stringbuffer sb = new StringBuffer ("Agregue efectos especiales!"); // use el método de append para agregar una nueva cadena sb.append ("duang ~~"); System.out.println (SB); }}Los resultados finales de salida son: ¡agregue efectos especiales! Duang ~~
No es difícil ver en el ejemplo anterior que cuando se extiende la clase de cadena, necesita instalar dos objetos, cada objeto ocupará una cierta cantidad de memoria. La clase StringBuffer no necesita instanciar una nueva clase, solo necesita llamar a un método extendido.
También hay un punto en el que la capacidad de memoria de la clase StringBuffer es escalable. Demos un ejemplo específico:
clase public str {public static void main (string [] args) {// declarar string object sb stringBuffer sb = new StringBuffer (40); System.out.println (sb.capacity ()); // Capacidad de cadena de salida Capacidad sb.ensureCapacity (100); // expandir la capacidad System.out.println (sb.capacity ()); // capacidad de capacidad de cadena de salida}}El método Capacity () representa el número de objetos de cadena que pueden acomodar cadenas en la memoria. Si desea expandir la capacidad de memoria, puede usar el método EnsureCapacity ().
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.