StringBuffer em Java: 11 métodos populares que todo desenvolvedor Java deve conhecer

Publicados: 2021-05-26

Índice

Introdução ao StringBuffer em Java

StringBuffer em java é uma classe que herda métodos da classe java.lang.Object. É uma classe peer de String que é usada para criar String modificável ou mutável. Ele fornece muitas das funcionalidades de String, exceto que pode ser alterada, ou seja, representa sequências de caracteres graváveis ​​e expansíveis em vez de sequências de caracteres imutáveis ​​e de comprimento fixo. Aqui estão alguns pontos essenciais sobre o java.lang.StringBuffer em Java:

· O conteúdo e o comprimento da sequência de caracteres podem ser alterados por meio de várias chamadas de método.

· É thread-safe, ou seja, seguro para uso por vários threads

· Cada StringBuffer em java tem uma capacidade.

· As substrings e caracteres podem ser anexados no final ou inseridos no meio. Ele cresce automaticamente e abre espaço para adições. Muitas vezes, mais caracteres são pré-alocados do que o necessário para permitir espaço para crescimento.

Aqui está como o StringBuffer na classe Java é declarado:

classe final pública StringBuffer

estende Objeto

implementa Serializable, CharSequence

Construtores da classe StringBuffer

1. StringBuffer() – Isso é usado para construir um buffer de string com uma capacidade inicial de 16 caracteres e nenhum caractere nele. Sintaxe:

StringBuffer a =new StringBuffer();

2. StringBuffer (CharSequence seq) – Isso é usado para construir um buffer de string que contém os mesmos caracteres que no CharSequence.

3. StringBuffer (int capacity) – É usado para criar um buffer de string cuja capacidade inicial é especificada e sem caracteres. Sintaxe:

StringBuffer a=new StringBuffer(10);

4. StringBuffer (String str) – Isso é usado para criar um buffer de string com o conteúdo de String fornecido. Sintaxe:

StringBuffer a=new StringBuffer(“stringbuffer em java”);

Leia: Diferença entre String Buffers e String Builders

11 métodos populares

1) StringBuffer no método Java Append()

.append() é usado para concatenar a string e o argumento fornecidos. Aqui está um exemplo:

import java.io.*;

buffer de classe pública {

public static void main(String[] args)

{

StringBuffer a = new StringBuffer(“stringbuffer”);

a.append("em Java");

System.out.println(a);

a.append(0);

System.out.println(a);

}

}

Saída:

2) StringBuffer no método Java Insert()

O método .insert() é usado para inserir uma determinada string com a string principal na posição especificada. Aqui está um exemplo:

import java.io.*;

buffer de classe pública {

public static void main(String[] args)

{

StringBuffer a = new StringBuffer(“stringbuffer”);

a.inserir(5, “para”);

System.out.println(a);

a.inserir(0, 5);

System.out.println(a);

a.inserir(3, falso);

System.out.println(a);

a.inserir(5, 41,55d);

System.out.println(a);

a.inserir(8, 41,55f);

System.out.println(a);

char arr[] = { 'j', 'a', 'v', 'a' };

a.inserir(2, arr);

System.out.println(a);

} }

Saída:

Leia também: Ideias e tópicos do projeto Java

3) StringBuffer no método java replace()

.replace() é usado para substituir uma parte da string conforme especificado no intervalo (beginIndex, endIndex). Aqui está um exemplo:

import java.io.*;

buffer de classe pública {

public static void main(String[] args)

{

StringBuffer a = new StringBuffer(“stringbuffer”);

a.substituir(5, 8, “são”);

System.out.println(a);

}

}

Saída:

4) StringBuffer no método Java Delete()

.delete() é usado para excluir a string conforme especificado no intervalo (beginIndex, endIndex).

.deleteCharAt() é usado para excluir o caractere em um índice específico. Este método retorna o objeto stringbuffer resultante. Aqui está um exemplo:

import java.io.*;

buffer de classe pública {

public static void main(String[] args)

{

StringBuffer a = new StringBuffer(“string buffer em java”);

a.delete(0, 6);

System.out.println(a);

a.deleteCharAt(7);

System.out.println(a);

}

}

Saída:

5) StringBuffer no método Java Reverse()

.reverse() como o nome sugere é usado para reverter a string dada. Aqui está um exemplo:

import java.io.*;

buffer de classe pública {

public static void main(String[] args)

{

StringBuffer a = new StringBuffer(“stringbuffer”);

a.reverso();

System.out.println(a);

}

}

Saída:

6) StringBuffer no método Java Capacity()

.capacity() de StringBuffer na classe java é usado para retornar a capacidade atual do buffer. 16 é a capacidade padrão. A capacidade aumenta aumentando o número de caracteres. A nova capacidade = (antiga capacidade*2)+2. ou seja, se a capacidade atual for 16, a nova capacidade será 32+2=34.

.length é usado para encontrar o comprimento de um StringBuffer em java. Por exemplo:

import java.io.*;

buffer de classe pública {

public static void main(String[] args)

{

StringBuffer a = new StringBuffer(“stringbuffer”);

int p = a.comprimento();

int q = a.capacidade();

System.out.println(“O comprimento da string é=” + p);

System.out.println(“A capacidade da string é=” + q);

}

}

Saída:

Obtenha diplomas de Engenharia de Software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

7) StringBuffer no método Java sureCapacity()

.ensureCapacity() da classe stringbuffer é usado para garantir que a capacidade especificada seja a mínima para a capacidade atual. Se a capacidade fornecida for maior que a capacidade atual, a nova capacidade se torna (oldcapacity*2)+2. ou seja, a capacidade se torna 34 se a capacidade antiga for 16. Por exemplo:

buffer de classe pública{

public static void main(String args[]){

StringBuffer a=new StringBuffer();

System.out.println(a.capacity());

a.append(“Olá”);

System.out.println(a.capacity());

a.append(“java”);

System.out.println(a.capacity());

a.garantirCapacidade(10);

System.out.println(a.capacity());

a.garantirCapacidade(50);

System.out.println(a.capacity());

}

}

Saída:

Checkout: Salário de Desenvolvedor Java na Índia

8. charAt(int index) – Este método é usado para retornar o caractere no índice fornecido.

9. substring( int begIndex) – Este método é usado para retornar a substring de uma determinada string a partir de beginIndex.

10. substring(int beginIndex, int endIndex) – Este método é usado para retornar a substring da String dada começando em beginIndex e terminando em endIndex.

11. void trimToSize() – Este método é usado para reduzir o espaço de armazenamento para a sequência de caracteres

Diferença entre String e StringBuffer em Java

Usamos este exemplo para criar objetos da classe StringBuffer e String e modificá-los. Vemos que o objeto StringBuffer é modificado, enquanto String não. Veja o exemplo abaixo:

buffer de classe pública {

public static void main(String args[])

{

String str = “string”;

str.concat(“buffer”);

System.out.println(str);

StringBuffer strB = new StringBuffer(“string”);

strB.append(“buffer”);

System.out.println(strB);

}

}

Saída:

Explicação: A saída é assim porque as cadeias são imutáveis. Se tentarmos concatenar o objeto string, ele não será alterado. No entanto, um StringBuffer em java cria objetos mutáveis. Assim, pode ser alterado.

Pontos interessantes

  1. Ele estende a classe Object.
  2. As interfaces implementadas do StringBuffer em java são Appendable, Serializable e CharSequence.
  3. Os métodos de StringBuffer podem ser sincronizados sempre que necessário. Isso significa que todas as operações se comportam como se ocorressem em alguma ordem serial.
  4. Quando ocorre uma operação envolvendo a seqüência de origem, essa classe sincroniza apenas no buffer de cadeia de caracteres em operação e não na origem.
  5. Alguns dos métodos herdados da classe de objeto são equals, clone, getClass, notify, notifyAll, hashCode e finalize.

Conclusão

StringBuffer em java cria objetos string modificáveis. Assim, podemos usar StringBuffer para anexar, substituir, reverter, concatenar e modificar a sequência de caracteres ou strings. Os métodos da classe StringBuffer aderem a essas funções. Para resumir, StringBuffer em java é usado apenas quando vários threads estão modificando o conteúdo do StringBuffer. É mais rápido que String.

Neste artigo, aprendemos todos os detalhes sobre Java StringBuffer . Se você deseja aprender mais sobre Java e avançar em sua carreira técnica, explore os cursos da upGrad - a maior empresa de ensino superior online da Índia.

Se você estiver interessado em aprender mais sobre Java, desenvolvimento de software full-stack, confira o Executive PG Program in Software Development – ​​Specialization in Full Stack Development do upGrad & IIIT-B, que é projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso , mais de 9 projetos e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Aterre no seu emprego dos sonhos

Inscreva-se para a Certificação PG vinculada ao trabalho do upGrad em Engenharia de Software