Power Designer
Olá Convidado...
Seja Bem Vindo ao Power Designer.
Cadastre-se para desfrutar de nossos Recursos e Tutorial,juntamente para ver o restante do fórum.
Obrigado.
Anteciosamente,
Administração.

[Tutorial Java] Diferenças entre as classes String, StringBu

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial Java] Diferenças entre as classes String, StringBu

Mensagem por Lottus em Dom Ago 04, 2013 3:40 pm

Estarei mostrando aqui no meu primeiro tutorial um assunto muito interessante quando falamos de Java, que são as classes String, StringBuffer e StringBuilder, espero que vocês gostem!!!


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:





[Você precisa estar registrado e conectado para ver esta imagem.]

  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:

[Você precisa estar registrado e conectado para ver esta imagem.]

  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:
[Você precisa estar registrado e conectado para ver esta imagem.]

  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.

Créditos: Hyon
avatar
Lottus
Membros
Membros

Mensagens Mensagens : 23
Coins Coins : 7611
Reputação Reputação : 25
Idade Idade : 24

Voltar ao Topo Ir em baixo

Re: [Tutorial Java] Diferenças entre as classes String, StringBu

Mensagem por Rolls em Dom Ago 04, 2013 4:43 pm

E aí mano, eu tinha uma duvida StringB q vc tir
ou agora. Valeu
avatar
Rolls
Moderador Master
Moderador Master

Mensagens Mensagens : 1135
Coins Coins : 9663
Reputação Reputação : 93
Idade Idade : 27

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum