Java - Classe de Strings
Strings, que são amplamente utilizadas na programação Java, são uma sequência de caracteres. Na linguagem de programação Java, as strings são tratadas como objetos.
A plataforma Java fornece a classe String para criar e manipular strings.
Criando strings
A maneira mais direta de criar uma string é escrever −
String greeting = "Hello world!";
Sempre que encontra uma string literal em seu código, o compilador cria um objeto String com seu valor neste caso, "Hello world!'.
Como com qualquer outro objeto, você pode criar objetos String usando a palavra-chave new e um construtor. A classe String possui 11 construtores que permitem fornecer o valor inicial da string usando diferentes fontes, como um array de caracteres.
Exemplo
Demonstração ao vivopublic class StringDemo { public static void main(String args[]) { char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' }; String helloString = new String(helloArray); System.out.println( helloString ); } }
Isso produzirá o seguinte resultado -
Saída
hello.
Observação − A classe String é imutável, portanto, uma vez criada, um objeto String não pode ser alterado. Se houver necessidade de fazer muitas modificações em Strings de caracteres, você deve usar String Buffer &String Builder Classes.
Comprimento da string
Os métodos usados para obter informações sobre um objeto são conhecidos como métodos de acesso . Um método de acesso que você pode usar com strings é o método length(), que retorna o número de caracteres contidos no objeto string.
O programa a seguir é um exemplo de comprimento() , método classe String.
Exemplo
Demonstração ao vivopublic class StringDemo { public static void main(String args[]) { String palindrome = "Dot saw I was Tod"; int len = palindrome.length(); System.out.println( "String Length is : " + len ); } }
Isso produzirá o seguinte resultado -
Saída
String Length is : 17
Concatenando Strings
A classe String inclui um método para concatenar duas strings -
string1.concat(string2);
Isso retorna uma nova string que é string1 com string2 adicionada a ela no final. Você também pode usar o método concat() com literais de string, como em −
"My name is ".concat("Zara");
As strings são mais comumente concatenadas com o + operador, como em -
"Hello," + " world" + "!"
que resulta em -
"Hello, world!"
Vejamos o seguinte exemplo -
Exemplo
Demonstração ao vivopublic class StringDemo { public static void main(String args[]) { String string1 = "saw I was "; System.out.println("Dot " + string1 + "Tod"); } }
Isso produzirá o seguinte resultado -
Saída
Dot saw I was Tod
Criando strings de formato
Você tem os métodos printf() e format() para imprimir a saída com números formatados. A classe String tem um método de classe equivalente, format(), que retorna um objeto String em vez de um objeto PrintStream.
O uso do método static format() de String permite que você crie uma string formatada que pode ser reutilizada, em oposição a uma instrução de impressão única. Por exemplo, em vez de -
Exemplo
System.out.printf("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
Você pode escrever -
String fs; fs = String.format("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar); System.out.println(fs);
Métodos de string
Aqui está a lista de métodos suportados pela classe String -
Nº Sr. | Método e descrição |
---|---|
1 | char charAt(int index) Retorna o caractere no índice especificado. |
2 | int compareTo(Object o) Compara esta String com outro Object. |
3 | int compareTo(String outraString) Compara duas strings lexicograficamente. |
4 | int compareToIgnoreCase(String str) Compara lexicograficamente duas strings, ignorando as diferenças entre maiúsculas e minúsculas. |
5 | String concat(String str) Concatena a string especificada ao final desta string. |
6 | boolean contentEquals(StringBuffer sb) Retorna true se e somente se esta String representar a mesma sequência de caracteres que o StringBuffer especificado. |
7 | String estática copyValueOf(char[] data) Retorna uma String que representa a sequência de caracteres na matriz especificada. |
8 | String estática copyValueOf(char[] dados, deslocamento int, contagem int) Retorna uma String que representa a sequência de caracteres na matriz especificada. |
9 | boolean endsWith(String sufixo) Testa se essa string termina com o sufixo especificado. |
10 | boolean equals(Object anObject) Compara essa string com o objeto especificado. |
11 | boolean equalsIgnoreCase(String outraString) Compara esta String com outra String, ignorando as considerações de maiúsculas e minúsculas. |
12 | byte[] getBytes() Codifica essa String em uma sequência de bytes usando o charset padrão da plataforma, armazenando o resultado em um novo array de bytes. |
13 | byte[] getBytes(String charsetName) Codifica essa String em uma sequência de bytes usando o charset nomeado, armazenando o resultado em uma nova matriz de bytes. |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Copia os caracteres desta string para a matriz de caracteres de destino. |
15 | int hashCode() Retorna um código hash para esta string. |
16 | int indexOf(int ch) Retorna o índice dentro desta string da primeira ocorrência do caractere especificado. |
17 | int indexOf(int ch, int fromIndex) Retorna o índice dentro dessa string da primeira ocorrência do caractere especificado, iniciando a pesquisa no índice especificado. |
18 | int indexOf(String str) Retorna o índice dentro desta string da primeira ocorrência da substring especificada. |
19 | int indexOf(String str, int fromIndex) Retorna o índice dentro dessa string da primeira ocorrência da substring especificada, começando no índice especificado. |
20 | String interno() Retorna uma representação canônica para o objeto string. |
21 | int lastIndexOf(int ch) Retorna o índice dentro desta string da última ocorrência do caractere especificado. |
22 | int lastIndexOf(int ch, int fromIndex) Retorna o índice dentro dessa string da última ocorrência do caractere especificado, pesquisando para trás começando no índice especificado. |
23 | int lastIndexOf(String str) Retorna o índice dentro desta string da ocorrência mais à direita da substring especificada. |
24 | int lastIndexOf(String str, int fromIndex) Retorna o índice dentro dessa string da última ocorrência da substring especificada, pesquisando para trás começando no índice especificado. |
25 | int comprimento() Retorna o comprimento desta string. |
26 | correspondências booleanas(String regex) Informa se essa string corresponde ou não à expressão regular fornecida. |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Testa se duas regiões de string são iguais. |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) Testa se duas regiões de string são iguais. |
29 | String replace(char oldChar, char newChar) Retorna uma nova string resultante da substituição de todas as ocorrências de oldChar nesta string por newChar. |
30 | String replaceAll(String regex, substituição de string Substitui cada substring dessa string que corresponde à expressão regular fornecida pela substituição fornecida. |
31 | String replaceFirst(String regex, substituição de string) Substitui a primeira substring dessa string que corresponde à expressão regular fornecida pela substituição fornecida. |
32 | String[] split(String regex) Divide essa string em torno de correspondências da expressão regular fornecida. |
33 | String[] split(String regex, limite int) Divide essa string em torno de correspondências da expressão regular fornecida. |
34 | boolean startsWith(prefixo de string) Testa se esta string começa com o prefixo especificado. |
35 | boolean startsWith(String prefix, int toffset) Testa se essa string começa com o prefixo especificado iniciando um índice especificado. |
36 | CharSequence subSequence(int beginIndex, int endIndex) Retorna uma nova sequência de caracteres que é uma subsequência dessa sequência. |
37 | String substring(int beginIndex) Retorna uma nova string que é uma substring desta string. |
38 | String substring(int beginIndex, int endIndex) Retorna uma nova string que é uma substring desta string. |
39 | char[] toCharArray() Converte essa string em uma nova matriz de caracteres. |
40 | String toLowerCase() Converte todos os caracteres desta String em letras minúsculas usando as regras da localidade padrão. |
41 | String toLowerCase(Locale locale) Converte todos os caracteres desta String para letras minúsculas usando as regras do Locale fornecido. |
42 | String toString() Este objeto (que já é uma string!) é retornado. |
43 | String toUpperCase() Converte todos os caracteres desta String em maiúsculas usando as regras da localidade padrão. |
44 | String toUpperCase(Locale locale) Converte todos os caracteres desta String em maiúsculas usando as regras do Locale fornecido. |
45 | String trim() Retorna uma cópia da string, com espaços em branco à esquerda e à direita omitidos. |
46 | String estática valueOf(tipo de dados primitivo x) Retorna a representação de string do argumento de tipo de dados passado. |
Java