Manipulação de String
Manipulação de variáveis do tipo
String
1
Manipulação de String
Uma String em Java, possui características de
manipulação de Objeto, mas não é um objeto.
Nas primeiras versões havia a necessidade de
criar String como objetos, exemplo:
String nome = new String();
Hoje, String são tipos primitivos mas tem
características de objetos.
2
Manipulação de String
Um exemplo dessa característica pode ser vista
abaixo:
String S = “joao”;
String S1 = “joao”;
if (S == S1){
[Link](“São iguais”);
}
Até a versão 6 do Java, a comparação acima não
era verdadeira, em versões atuais isso já é
verdadeiro.
3
Manipulação de String
Isso ocorria exatamente pelo fato de String´s não
serem variáveis de tipo primitivo.
Nestas situações o que era comparado não era o valor
da variável e sim a referência de memória onde o
mesmo foi alocado.
Como não existem duas variáveis alocadas na mesma
referência, a comparação jamais retornaria verdadeira.
4
Manipulação de String
O Java fornece uma série de métodos para a
manipulação do tipo String.
Serão apresentados apenas os principais
métodos.
5
Manipulação de String
Todos os métodos que manipulam tipo String, tem
basicamente o mesmo formato.
Variável.Ação(<Parâmetros>)
Os métodos que manipulam String irão sempre ter
retorno devendo ser tratado de alguma forma.
Nenhum altera o valor original.
6
Principais Métodos
Vamos tomar como exemplo para os métodos
apresentados, a utilização de uma variável
declarada como “S”.
String S=“”;
7
Principais Métodos
length() – retorna um inteiro, representando o
número de caracteres da String (inclusive espaços em
branco).
Exemplo:
S = “joao”;
[Link]([Link]()+”caracteres”);
Irá retornar o número 4
8
Principais Métodos
isEmpty() – retorna um boolean indicando se a
String está Vazia. É uma comparação equivalente ao
teste: [Link]()==0
Exemplo:
if ([Link]()){
[Link](“Está VAZIA”);
}
9
Principais Métodos
trim() – retorna uma String sem espaços em
branco nos extremos direito e esquerdo, mantendo os
espaços do meio.
Exemplo:
S = “ joao da silva ”;
[Link]([Link]()+” sem espaços”);
Irá retornar: “joao da silva”
10
Principais Métodos
charAt(<índice>) – apesar de seguir o conceito de uma
String ser um vetor de caracteres, o Java não permite esse
acesso “direto”. String em Java, assim como vetores, tem o seu
primeiro índice “0”.
Exemplo:
0 1 2 3
J O A O
S = “joao”;
[Link]([Link](2)+” é a letra no indice 2”);
Irá retornar: ‘A’
11
Principais Métodos
replaceALL(<antigo>,<novo>) – substitui todas as
ocorrências de <antigo> pela sequencia definida em <novo>
Exemplo:
String s= "joao";
s= [Link]("o", "O");
Irá retornar: “jOaO”
12
Principais Métodos
substring(<inicio>,<final>) – retorna uma
string que é uma substring desta string. A
substring inicia no indice especificado em
<inicio> e termina em <final-1>. Exemplo:
String s= "joaozinho";
String s1=[Link](3, 5);
A variável s1 conterá: “oz”
13
Principais Métodos
Assim como outras linguagens o Java tem funções de
conversão para Maiúsculo/Minúsculo.
toUpperCase()- retorna a String com seus
caracteres convertidos para maiúsculo, sem alterar a
String original.
toLowerCase()- retorna a String com seus
caracteres convertidos para minúsculo, sem alterar a
String original.
14
Principais Métodos
Exemplo:
S = “Joao da Silva”;
[Link](“Em maiusculo”+[Link]());
[Link](“Em minusculo”+[Link]());
15
Principais Métodos
Como citado no início da apresentação, a comparação
entre String´s não pode ser realizada como em outros
tipos, exigindo para isso, métodos para esta ação.
O Java fornece basicamente duas opções de
comparação. Comparação de igualdade ou
comparação de extremos.
16
Principais Métodos
Comparação de Igualdade – a comparação de igualdade tem
retorno boolean true se as String´s forem iguais e false caso
contrário.
- equals(<String 2>)
- equalsIgnoreCase(<String 2>)
Os dois métodos tem o mesmo objetivo, com a diferença que
usando equalsIgnoreCase, não há distinção entre
maiúsculos e minúsculos.
17
Principais Métodos
Exemplo:
if ([Link](S1))
ou
if ([Link](S1)){
[Link](“Strings iguais”);
}
18
Principais Métodos
Comparação de Extremos – nessa comparação há o
retorno de um inteiro, representando 3 situações
distintas.
0 – as duas String´s são iguais
Valor Negativo – a primeira String é menor
Valor Positivo – a segunda String é menor
- compareTo(<String 2>)
- compareToIgnoreCase(<String 2>)
19
Principais Métodos
Exemplo:
if ([Link](S1))
ou
if ([Link](S1)==0){
[Link](“Strings iguais”);
}
20
Principais Métodos
Comparação Parcial – nessa comparação há o retorno
de um booleano representando as 3 situações
similares as existentes em SQL.
Inicia com: startsWith(<String>)
Termina com: endsWith(<String>)
Contém: contains(<String>)
21
Principais Métodos
Exemplo:
if ([Link]("A")){
}
ou
if ([Link]("A")){
}
ou
if ([Link]("A")){
}
22
Exercícios
1) Crie um programa que leia o nome completo de
uma pessoa e mostre:
-O nome com todas em maiúsculo
-O nome com todas em minúsculo
-Quantas letras ao todo (sem considerar espaços)
2) Faça um programa que leia uma String. Faça um
método que receba essa String por parâmetro e
retorne sem as suas vogais.
23
Exercícios
3) Faça um programa que contenha um método que
leia uma série de nomes, armazenando em um vetor.
Crie também um método que mostre apenas os nomes
que iniciam com vogais.
4) Faça um programa que contenha um método que
que leia uma série de nomes, armazenando em um
vetor. Faça também um método que receba uma String
por parâmetro e mostre de trás para frente.
24