Nessa postagem iremos explorar um pouquinho a classe String do Java e os seus métodos mais usados.
A classe String
Texto em Java é tudo entre aspas. O que está entre as aspas é o conteúdo de um objeto do tipo String. Para entender melhor veja o simples pedaço de código:
System.out.println("Classe String: " + "".getClass());
Ao executarmos esse código, texto o seguinte no console:
Classe String: class java.lang.String
A classe java.lang.String é muito bem documentada e poderosa. Notem que por ser um tipo, podemos declarar variáveis do tipo String.
A seguir veremos os métodos mais usados para manipulação de String no Java.
Alguns métodos interessantes
Objectos String é imutável, ou seja, o seu estado não pode ser mudado após a criação, logo, os métodos não modificam a String original, mas sim retornam uma nova instância de String quando há alguma transformação feita na String original. Bem, vamos aos métodos:
length()
Retorna o tamanho da String(número de caracteres). Por exemplo "123456".length() irá retornar 6.
concat(String str)
Irá concatenar(juntar) uma String com a outra. Uma simplificação desse método é através do operador +:
String ola = "Olá";
String mundo = "Mundo!";
String olaMundo = ola.concat(" ").concat(mundo);
String olaMundo2 = ola + " " + mundo;
System.out.println(olaMundo);
System.out.println(olaMundo2);
Isso irá retornar:
Olá Mundo!
Olá Mundo!
charAt(int index)
O método charAt serve para localizarmos um caracter dentro de uma String dado o índice index. Lembrando que o indíce começa em 0. Veja um exemplo:
String java = "Java";
for (int i = 0; i < java.length(); i++) {
System.out.println("Caracter na posição " + i + ": " + java.charAt(i));
}
Isso irá resultar no seguinte:
Caracter na posição 0: J
Caracter na posição 1: a
Caracter na posição 2: v
Caracter na posição 3: a
getBytes()
Retorna os bytes da String. Isso pode não parecer útil agora, no entanto, é muito interessante quando tentamos transmitir texto pela rede, por exemplo, ou colocar ele em uma resposta HTTP.equals(Object outraString)
Compara se as duas String são iguais. Note que o operador == não servirá para comparar o conteúdo de String, mas sim a referência de memória do objeto, o que pode levar a resultados errôneos! Logo, é recomendável usar equals invés de ==. Uma explicação mais completa pode ser vista nesse blog.
equalsIgnoreCase(String anotherString)
Irá comparar se duas String são iguais independente se há caracteres maiúsculos ou minúsculos:
String java = "Java";
System.out.println("Java é igual a Java? " + java.equals("Java"));
System.out.println("Java é igual a Java? " + java.equals("Java"));
System.out.println("Java é igual a java? " + java.equals("java") );
System.out.println("Java é igual a java?(ignoreCase) " + java.equalsIgnoreCase("java") );
Saída:
Java é igual a Java? true
Java é igual a java? false
Java é igual a java?(ignoreCase) true
startsWith(String prefix)
Irá verificar se a String termina com um dado prefixo.
Esse foi o básico do básico sobre String. Há muito a se aprender e você pode ir mais a fundo lendo a documentação da classe String.
Conclusão
Esse foi o básico do básico sobre String. Há muito a se aprender e você pode ir mais a fundo lendo a documentação da classe String.
Nenhum comentário:
Postar um comentário