Todos os posts de Luiz Schutrz

Manipulação de String em Java

Com exceção dos tipos primitivos, todos os tipos de valores utilizados em Java são objetos. Um dos objetos mais utilizados por programadores, experientes ou novatos, é o tipo String. No tipo String podem ser gravados vários dados distintos em apenas um objeto, como: letras, números e caracteres especiais (@,#$%&*!). Para a declaração, lembrando que String é um objeto, temos duas maneiras, uma é como uma variável normal, e outra, como um construtor.

//declaracao como variavel normal
String s;
String s1 = "String 1";
//declaracao como contrutor
String s2 = new String();
s = new String("Outra String");

Existem inumeros métodos que podem ser utilizados para fazer a manipulação de String. Para quem já tem uma certa experiência este tipo de manipulação já é mais comum e fácil de ser entendido, mas para iniciantes, certamente terão algumas dificuldades e os métodos a seguir demonstrados poderão resolver alguns problemas no uso de String.

Método lenght: retorna um inteiro com o tamanho do String, ou seja, retorna o número de caracteres da variável.

//o metodo retorna um inteiro
int tamanho = s.length();

Método charAt: retorn um char com o caracter de uma posição especifica do String.

//pega o caracter na posicao 2 do String
char c = s.charAt(2);

Método equals: retorna um boolean, true se dois Strings são iguais, ou false se são diferentes.

//verifica se s1 e s2 sao iguais
String s1 = "String";
String s2 = "String";
if(s1.equals(s2)){
     System.out.println("sao iguais");
}

Método equalsIgnoreCase: verifica se dois Strings são iguais, sem levar-se em consideração se os caracteres são maiúsculos ou minúsculos.

//verifica se s1 e s2 sao iguais
String s1 = "String";
String s2 = "string";
if(s1.equals(s2)){
     System.out.println("sao iguais");
}

Método compareTo: retorna 0 (zero) se o String que chama o método for igual ao String passado como parâmetro, retorna um valor negativo se o String que chama o método for menor que o String do parâmetro, e um valor positivo se o String que chama o método for maior que a String do parâmetro.

//compareTo bastante usado para ordenar strings
String s1 = "b";
String s2 = "a";
if(s1.compareTo(s2)==0){
     System.out.println("sao iguais");
}else if(s1.compareTo(s2)<0){
     System.out.println("s2 é maior");
}else if(s1.compareTo(s2)>0){
     System.out.println("s1 é maior");
}

Método compareToIgnoreCase: tem os mesmos retornos do compareTo, a diferença é que neste não é levado em consideração os caracteres maiúsculos.

 

String s1 = "A";
String s2 = "a";
if(s1.compareTo(s2)==0){
     System.out.println("sao iguais");
}

Método substring: retorna um String, com os caracteres de um determinado trecho passado por parâmetro.

String s1 = "abcdefghijkl";
//no exemplo a seguir o trecho determinado 
//vai da posicao 3 até o fim do String 
String s2 = s1.substring(3);
System.out.println(s2);

//no exemplo a seguir o trecho determinado
//vai da posicao 3 ate a posicao 6
s2 = s1.substring(3,6);
System.out.println(s2);

Método replace: faz a substituição de determinado caracter por outro.

 

String s1 = "a";
String s2 = s1.replace("a","A");
System.out.println(s2);

Método indexOf: retorna um inteiro com a posição onde aparece pela primeira vez um determinado caracter.

String s1 = "aaabaaa";
int posicao = s1.indexOf("b");
System.out.println(posicao);

Método lastIndexOf: semelhante ao indexOf, só que retorna a última vez que aparece determinado caracter.

 

String s1 = "aaababa";
int posicao = s1.indexOf("b");
System.out.println(posicao);

Método toUpperCase: retorna uma nova String, mas transforma todos os caracteres para maiúsculos.

String s1 = "aaaaa";
String s2 = s1.toUpperCase();
System.out.println(s2);

Método toLowerCase: retorna nova String, mas transforma os caracteres em minúsculos.

String s1 = "AAAAA";
String s2 = s1.toLowerCase();
System.out.println(s2);

Método trim: retorna nova String, mas faz uma limpeza de espaços em branco no inicio e no fim da String.

String s1 = "   aaa ";
String s2 = s1.trim();
System.out.println(s2);

Método startsWith: retorna true caso o valor do String se inicie com determinada sequência de caracteres.

String s1 = "abcdefg";
if(s1.startsWith("ab")){
     System.out.println("inicia com ab");
}else{
     System.out.println("nao inicia com ab");
}

Método endsWith: retorna true caso o valor do String se encerre com determinada sequência de caracteres.

String s1 = "abcdefg";
if(s1.endsWith("fg")){
     System.out.println("inicia com fg");
}else{
     System.out.println("nao inicia com fg");
}

Bom, estes são os principais métodos para manipulação de Strings, com exemplos bem simples de entender, espero ter ajudado aos iniciantes na arte de programar em Java, e qualquer dúvida, sugestão, críticas, podem entrar em contato conosco. Obrigado e viva o Java.