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 vivo
public 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 vivo
public 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 vivo
public 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