Existem dois tipos de operações de string no Java: String Class e StringBuffer Class (classe Buffer String Processing Class).
Vamos falar brevemente sobre a diferença entre os dois.
A classe String e a classe StringBuffer fornecem métodos correspondentes para implementar operações de string, mas os dois são um pouco diferentes.
(1) classe de string
Uma vez que essa classe produz uma string, seu objeto é imutável. O conteúdo e o comprimento da classe String são corrigidos. Se o programa precisar obter informações de string, será necessário chamar vários métodos de operação de string fornecidos pelo sistema. Embora as operações possam ser aplicadas a strings através de vários métodos do sistema, isso não altera a própria instância do objeto, mas gera uma nova instância. O sistema aloca memória para objetos da classe String, que são alocados de acordo com o número real de caracteres contidos no objeto.
(2) Classe StringBuffer
Eu verifiquei o buffer da palavra, que significa buffer, e essa classe deve ter uma função buffering. Esta classe lida com seqüências variáveis. Se você deseja modificar uma string de classe StringBuffer, não precisa criar um novo objeto String, mas opere diretamente a string original. Os vários métodos de operação de string desta classe são diferentes dos fornecidos pela classe String. Quando o sistema aloca memória para a classe StringBuffer, além do espaço ocupado pelos caracteres atuais, ele também fornece um buffer adicional de 16 caracteres. Cada objeto StringBuffer tem uma certa capacidade de buffer. Quando o tamanho da string não exceder a capacidade, a nova capacidade não será alocada. Quando o tamanho da string exceder a capacidade, a capacidade será aumentada automaticamente.
Aqui estão alguns exemplos específicos
Conexão de sequência
Existem dois métodos para a classe String
O primeiro tipo ("+")
public class str {public static void main (string [] args) {string str1 = "Adicione efeitos especiais!"; String str2 = "duang ~~"; System.out.println (str1+""+str2); }}O segundo tipo ("concat")
public class str {public static void main (string [] args) {string str1 = "Adicione efeitos especiais!"; String str2 = "duang ~~"; System.out.println (str1.Concat (str2)); }}Métodos da classe StringBuffer
public class str {public static void main (string [] args) {// Construa um objeto que buffer strings sb stringbuffer sb = new stringbuffer ("adicione efeitos especiais!"); // Use o método Apênd para adicionar uma nova string sb.append ("duang ~~"); System.out.println (sb); }}Os resultados finais da saída são: Adicionar efeitos especiais! Duang ~~
Não é difícil ver no exemplo acima que, quando a classe String é estendida, ele precisa instância de dois objetos, cada objeto ocupará uma certa quantidade de memória. A classe StringBuffer não precisa instanciar uma nova classe, ela só precisa chamar um método estendido.
Há também um ponto em que a capacidade de memória da classe StringBuffer é escalável. Vamos dar um exemplo específico:
public class str {public static void main (string [] args) {// declara o objeto string sb stringbuffer sb = new StringBuffer (40); System.out.println (sb.capacity ()); // Capacidade da sequência de saída SB.ENSURECAPACIDADE (100); // expandir o sistema de capacidade.out.println (sb.capacity ()); // Capacidade da sequência de saída}}}O método da capacidade () representa o número de objetos de string que podem acomodar strings na memória. Se você deseja expandir a capacidade de memória, poderá usar o método EnsureCapacity ().
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.