Sei sulla pagina 1di 2

Sockets

Em java, a classe StringBuffer, no pacote java.lang, representa uma sequência de caracteres


mutável e segura em relação a threads. Um objecto StringBuffer é parecido com uma String,
com a diferença que um StringBuffer pode ser modificado, ou seja, modificações em seu
conteúdo não geram um novo objecto, como acontece usando a classe String.

A classe StringBuffer implementa as interfaces Serializable, Appendable e CharSequence.


Por este motivo, a qualquer momento um StringBuffer que contém uma sequência de
caracteres em particular, pode ter o seu tamanho e o conteúdo alterados por meio de
chamadas a certos métodos.

As operações principais de um StringBuffer são os métodos append() e insert(), que são


sobrecarregados para aceitar dados de qualquer tipo. Cada um destes métodos converte a
informação fornecida em uma String e então acrescenta ou insere os caracteres desta String
no StringBuffer. O método append() sempre adiciona os caracteres no fim da sequência e o
método insert() adiciona os caracteres numa determinada posição especificada.

Todo StringBuffer possui uma capacidade (acessada pelo método capacity()). Se a o


StringBuffer for sobrecarregado, ou seja, tiver a sua capacidade excedida pela sequência de
caracteres, a sua capacidade será automaticamente expandida.

Alguns outros métodos desta classe são:

 char charAt(int index);


 StringBuffer delete(int start, int end);
 StringBuffer deleteCharAt(int index);
 void ensureCapacity(int minimumCapacity);
 int length();
 String toString();

A partir do Java 5, esta classe foi suplementada com uma classe equivalente criada para o
uso em ambiente de thread única: a classe StringBuilder. A classe StringBuilder é mais usada
em vez de StringBuffer, uma vez que ela suporta as mesmas operações e é mais rápida, por
não executar sincronização.

1
Threads

A classe StringTokenizer, pertencente ao pacote java.util, disponibiliza métodos para


“quebrar” uma String em tokens (partes). Os tokens são separados entre si por um
delimitador que, em geral, é um caracter de espaçamento.
O delimitador pode ser especificado na criação do objecto ou por token (na chamada do
próximo token).
Um objecto StringTokenizer pode comportar-se de duas maneiras, dependendo do valor de
booleano que foi passado no construtor na sua criação:
 Se tiver sido false, o delimitador serve somente para separar tokens. Desta forma, um
token é a sequência máxima de caracteres que não são delimitadores.
 Se tiver sido true, o delimitador é também considerado como um token.

Exemplo do uso do StringTokenizer. O código:


StringTokenizer teste = new StringTokenizer("Este é um teste");
while (teste.hasMoreTokens()) {
System.out.println(teste.nextToken());
}

Impressão:
Este
é
um
teste

Os métodos desta classe não distinguem entre identificadores, números, aspas e nem sequer
reconhecem e ignoram comentários.
A classe StringTokenizer é uma classe legacy que é somente mantida por questões de
compatibilidade, sendo o seu uso desencorajado em novo código. É também recomendado
que alguém procurando esta funcionalidade use o método split() da String ou o pacote
java.util.regex.

Potrebbero piacerti anche