1. Modificando strings
Em Java, strings são objetos imutáveis. Isso foi feito para tornar a classe String altamente otimizada e permitir que ela seja usada em qualquer lugar. Por exemplo, apenas tipos imutáveis são recomendados para uso como chaves na coleção HashMap .
No entanto, muitas vezes surgem situações em que os programadores acham mais conveniente que a String
classe seja mutável. Eles querem uma classe que não crie uma nova substring toda vez que um de seus métodos é chamado.
Bem, suponha que temos uma string muito grande e precisamos frequentemente adicionar algo ao final dela. Nesse caso, mesmo uma coleção de caracteres ( ArrayList<Character>
) pode ser mais eficiente do que recriar e concatenar objetos String constantemente.
É exatamente por isso que um tipo semelhante a String que pode ser alterado foi adicionado à linguagem Java. É chamado StringBuilder
.
Criando um objeto
Para criar um StringBuilder
objeto com base em uma string existente, você precisa executar uma instrução como:
StringBuilder name = new StringBuilder(string);
Para criar uma string mutável vazia, você precisa usar uma instrução como esta:
StringBuilder name = new StringBuilder();
Lista de métodos
A StringBuilder
classe tem duas dúzias de métodos úteis. Aqui estão os mais importantes:
Método | Descrição |
---|---|
|
Converte o objeto passado em uma string e o anexa à string atual |
|
Converte o objeto passado em uma string e o insere na string atual |
|
Substitui a parte da string especificada pelo intervalo start..end pela string passada |
|
Remove o caractere com o índice especificado da string |
|
Remove caracteres dentro do intervalo especificado da string |
|
Procura uma substring na string atual |
|
Procura uma substring na string atual, começando do final |
|
Retorna o caractere na string no índice passado |
|
Retorna a substring definida pelo intervalo especificado |
|
Inverte a string atual. |
|
Altera o caractere no índice especificado para o caractere passado |
|
Retorna o comprimento da string em caracteres |
Aqui está uma breve descrição de cada método
2. Descrição dos métodos:
Acrescentando a uma string
Para adicionar algo a uma string mutável ( StringBuilder
), use o append()
método. Exemplo:
Código | Descrição |
---|---|
|
|
Convertendo para uma string padrão
Para converter um StringBuilder
objeto em um objeto String, basta chamar seu toString()
método. Exemplo
Código | Saída |
---|---|
|
|
Como faço para deletar um personagem?
Para excluir um caractere em uma string mutável, você precisa usar o deleteCharAt()
método. Exemplo:
Código | Saída |
---|---|
|
|
Como faço para substituir parte de uma string por outra string?
Para isso existe o replace(int begin, int end, String str)
método. Exemplo:
Código | Saída |
---|---|
|
|
3. Exemplos úteis de como trabalhar com strings
Como faço para inverter uma string?
Existe um método especial para fazer isso — reverse()
; Exemplo:
Código | Saída |
---|---|
|
|
StringBuffer
aula
Existe outra classe — StringBuffer, que é análoga à StringBuilder
classe, mas seus métodos são marcados com o synchronized
modificador. Isso significa que o StringBuffer
objeto pode ser acessado simultaneamente a partir de vários threads.
Mas é muito mais lento do que StringBuilder
. Você pode precisar desta classe quando começar a explorar ativamente o multithreading na missão Java Multithreading .
GO TO FULL VERSION