1. Estrutura da String
aula
Hoje falaremos sobre a String
aula. Depois de ints, a classe String é a classe mais popular em Java. É 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 lida com adição de strings e objetos String de uma maneira especial; String
os objetos são contados na memória de uma maneira especial. Basicamente, a String
classe é uma classe muito 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 para você fazer. Bem, começaremos do centro desse ecossistema — a organização da String
aula.
Matriz de caracteres
A estrutura da String
classe é realmente muito simples: dentro dela existe um array de caracteres (char array) que armazena todos os caracteres da string. Por exemplo, é assim que a palavra 'Olá' é armazenada:
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.
2. Métodos da String
aula
A String
classe tem muitos métodos: só ela tem 18 construtores! Então, abaixo, mencionamos apenas o mais básico deles:
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 arquivo string pool . |
Você pode aprender mais sobre construtores no artigo Construtores Java .
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 matriz de caracteres
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 sequência. |
Solução 2: — usando os métodos split()
ejoin()
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 sequência. |
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. |
GO TO FULL VERSION