1. Estrutura da Stringaula
Hoje falaremos sobre a Stringaula. 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 Stringclasse é a única classe além dos tipos primitivos cujos literais podem ser usados em uma switchinstrução; o compilador lida com adição de strings e objetos String de uma maneira especial; Stringos objetos são contados na memória de uma maneira especial. Basicamente, a Stringclasse é uma classe muito especial.
Além disso, a Stringclasse 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 Stringaula.
Matriz de caracteres
A estrutura da Stringclasse é 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 Stringclasse é 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 Stringaula
A Stringclasse 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