"O que você acha, amigo? Qual é a classe Java mais popular depois de int?"
"Você já me deu um spoiler no título da aula, Ellie. É String
!"
"Na verdade, é um spoiler. String
é usado absolutamente em todos os lugares. Tem um monte de métodos úteis que é melhor você conhecer.
"A String
classe é a única classe além dos tipos primitivos cujos literais podem ser usados em uma switch
instrução; o compilador manipula a adição de strings e os objetos String de uma maneira especial; String
os objetos são armazenados na memória de uma maneira especial. Basicamente, a String
classe é uma classe muito classe especial.
"Além disso, a String
classe tem várias classes auxiliares cuja finalidade é simplificar ainda mais o trabalho com strings em Java. Quando você aprender tudo isso, muitas coisas se tornarão muito mais fáceis de fazer."
"Mal posso esperar."
"Bem, começaremos do centro desse ecossistema — a organização da String
classe. A estrutura da String
classe é realmente muito simples: dentro dela há um array de caracteres ( char
array) que armazena todos os caracteres da string. Para exemplo, é assim que a palavra 'Hello' é armazenada:
É importante.
Na verdade, isso não é muito preciso. Como a String
classe é muito importante, ela usa muitas otimizações e os dados são armazenados internamente não como uma matriz de caracteres, mas simplesmente como uma matriz de bytes.
Métodos da classe String
A String
classe tem muitos métodos: só ela tem 18 construtores! Então, abaixo listarei apenas os mais usados:
Métodos | Descrição |
---|---|
|
Retorna o número de caracteres na string |
|
Verifica se a string é uma string vazia |
|
Verifica se a string contém apenas caracteres de espaço em branco: espaço, tabulação, nova linha, etc. |
|
Retorna o caractere na posição do índice na string. |
|
Retorna um array dos caracteres (uma cópia) que compõem a string |
|
Converte uma string em um conjunto de bytes e retorna a matriz de bytes. |
|
Divide uma string em várias substrings. |
|
Une várias substrings juntas |
|
Coloca uma string no pool de strings. |
"Isso parece muito bom!"
"Vamos escrever um programa que converta um caminho de arquivo do estilo Unix para o estilo Windows. O Unix usa o /
caractere para separar pastas, enquanto o Windows usa o \
caractere.
Solução 1. Usando uma char
matriz
Código | Notas |
---|---|
|
Criar um objeto Scanner Ler uma linha do console Converter uma string em uma matriz de caracteres Percorrer os caracteres Se o caractere for / , substitua-o por \ . Não se esqueça de escapar. Crie uma nova string com base na matriz de caracteres. Exiba a cadeia de caracteres. |
Solução 2. Usando os métodos split()
e join()
:
Código | Notas |
---|---|
|
Criar um objeto Scanner Ler uma linha do console Converter string em um array de strings . O / caractere é usado como separador (as duas barras extras são o resultado de escape duplo). Concatene todas as strings na matriz de strings . O \ é usado como um separador (vemos que escapou). Exiba a cadeia de caracteres. |
Solução 3. Usando o replace(char oldChar, char newChar)
método:
Código | Notas |
---|---|
|
Crie um objeto Scanner Leia uma linha do console Simplesmente substitua um caractere por outro (o segundo é escapado) Exiba a string. |
"Gostei mais da terceira solução. Mas vou praticar as três."
"Muito bem, amigo. Vejo que você já está impaciente para colocar em prática seus novos conhecimentos. A aula acabou."
GO TO FULL VERSION