-

String

A classe String com certeza é uma das principais classes da linguagem Java, esta classe é responsável pelo armazenamento de dados do tipo texto, as principais características da classe String são:

  • Seu nome completo é java.lang.String;
  • É um objeto imutável, ou seja, depois que criado seu conteúdo jamais é alterado;
  • É uma classe final, ou seja, não pode ser herdada por nenhuma outra classe.

Um objeto imutável quando criado na memória nunca terá seu valor alterado, no exemplo iremos demonstrar esta situação:

  1. É criado uma string com o conteudo “oficina da”;
  2. É criado uma string com o conteudo “net”;
  3. É criado uma nova string com o conteudo “oficina da net”;
  4.  As strings “oficina da ” e “net” estão sem referência,
            * ou seja, estão disponiveis para o gargage collector.

    As strings “oficina da ” e “net” estão sem referência, ou seja, estão disponíveis para o gargage collector.

StringBuffer

A classe StringBuffer é geralmente utilizada quando precisamos armazenar um grande número de caracteres, as principais características da classe StringBuffer são:

  • Seu nome completo é java.lang.StringBuffer;
  • É um objeto mutável, ou seja, o seu valor pode ser alterado, isso significa que o valor armazenado em sua instância pode ser alterado;
  • É uma classe final, não pode ser herdada por nenhuma outra classe;
  • Todos os seus métodos são synchronized, assim é uma classe preparada para um ambiente onde se utiliza os recursos de muilti-thread.

Exemplo da utilização da classe StringBuffer:

  1. É armazenado uma String com o valor “oficina”, através da chamada do método append;
  2. É concatenado o valor de “da “, agora temos na StringBuffer o valor de”oficina da “;
  3. É concatenado a variável nome o valor de “net”,  agora temos na StringBuffer o valor de “oficina da net”.

StringBuilder

A classe StringBuilder é similar a classe StringBuffer, a única diferença é que os seus métodos não são synchronized.
Esta classe é indicada quando não é necessário ter o controle sobre as thread que irão modificar o conteúdo da instância, por isso esta classe é mais utilizada do que a classe StringBuffer.
Exemplo da utilização da classe StringBuilder:

  1. É armazenado na instância de nome o valor de “oficina”, através da chamada do método append;
  2. É concatenado a variável nome o valor de “da “, agora temos na StringBuilder o valor de “oficina da “;
  3. É concatenado a variável nome o valor de “net”, agora temos na StringBuilder o valor de “oficina da net”.

Com isso podemos concluir que a concatenação de um StringBuilder comparado com a String é muito mais rápida, isto porque um objeto String é imutável, e o StringBuilder é um objeto mutável.

Vale lembrar que a unica diferença entre StringBuffer e a StringBuilder,  é que todos os métodos da StringBuffer são synchronized, enquando os da StringBuilder não são.

Texto encontrado no site oficinadanet.com.br

Leave a Comment

Your email address will not be published.

You may use these HTML tags and attributes: <a href=""> <abbr> <acronym> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Send a Message