comparação!

9 respostas
shadowjava

Como é realizada a comparação de String em Java ?
String s1 = new String(?Teste?);

String s2 = ?Teste?;

Qual a diferença entre eles

9 Respostas

Kassiane_Pretti

Existem vários métodos para a comparação de 2 strings em java, mas os que eu mais uso são esses dois:

str1.equals(str2) (compara as duas strings retornado true se as duas forem exatamente iguais, lembrando que esse é case sentive)

str1.equalsIgnoreCase(str2) (campara as duas strings retornado true se elas forem iguais, neste caso o case é ignorado ex.: SiM == sim == SIM == sIM… e assim sucessivamente).

feltraco

cara aki no forum isso jah foi muito discutido…
da uma olhada…

http://www.guj.com.br/posts/list/22522.java#119456

tb tem aki…

http://www.guj.com.br/java.artigo.103.1.guj

FLwS

Kassiane_Pretti

feltraco:
cara aki no forum isso jah foi muito discutido…
da uma olhada…

http://www.guj.com.br/posts/list/22522.java#119456

tb tem aki…

http://www.guj.com.br/java.artigo.103.1.guj

FLwS

Para evitar, antes de abrir um novo tópico utilize a busca do fórum…

:wink:

T

Vamos fazer uma tabelinha. Supondo que s1 e s2 sejam strings != null:

s1 = s2 --> s1.equals (s2)

s1  s2 --> ! s1.equals(s2)

s1 < s2 --> s1.compareTo(s2) < 0

s1 > s2 --> s1.compareTo(s2) > 0

s1  s2 --> s1.compareTo(s2) <= 0

s1  s2 --> s1.compareTo(s2) >= 0

Supondo agora que você queira comparar as strings, mas não considerando a diferença entre minúsculas e maiúsculas:

s1 = s2 --> s1.equalsIgnoreCase (s2)

s1  s2 --> ! s1.equalsIgnoreCase(s2)

s1 < s2 --> s1.compareToIgnoreCase(s2) < 0

s1 > s2 --> s1.compareToIgnoreCase(s2) > 0

s1  s2 --> s1.compareToIgnoreCase(s2) <= 0

s1  s2 --> s1.compareToIgnoreCase(s2) >= 0
T

Se quiser comparar 2 strings, mas não considerando a diferença entre letras acentuadas e não-acentuadas (ou seja, “João” == “joao”), então use java.text.Collator. Veja na documentação se você precisar dela.

Exemplo:

String s1 = "João";
String s2 = "joao";
Collator coll = Collator.getInstance (new Locale ("pt", "BR"));
coll.setStrength(Collator.PRIMARY);
if (coll.compare (s1, s2) == 0) {
    System.out.println ("s1 é igual a s2, não levando em conta acentos e maiúsculas");
} else {
    System.out.println ("s1 não é igual a s2, mesmo não levando em conta acentos e maiúsculas");
}
vanzella

Vixi isso aqui ta melhor que o livro da Kathy uai.

shadowjava

e olha que eu só fiz uma pergunta boba . :smiley:

olha a situação já

aqui é Java basico hehehe ---------daqui a pouco meu tópico vai ter que ser movido pro avançado!

vanzella

shadowjava:
e olha que eu só fiz uma pergunta boba . :smiley:

olha a situação já

aqui é Java basico hehehe ---------daqui a pouco meu tópico vai ter que ser movido pro avançado!

Aff, é que isso ai que tu perguntou tem de kilo na nete né veio, sacanagem tua perguntar isso.

Mantu

http://www.guj.com.br/posts/list/52376.java

Criado 11 de fevereiro de 2008
Ultima resposta 12 de fev. de 2008
Respostas 9
Participantes 6