[Resolvido] Comparando String

Como eu faço para comparar 2 String e saber qual vem primeiro (ordem alfabetica).Espero que alguem possa me ajudar, pois nao tenho a menor ideia de como fazer.

Você pode utilizar os métodos compareTo(String) e compareToIgnoreCase(String), esses métodos retornar <= -1 se a string vier antes, 0 se for igual e >= +1 se vier depois. O problema destes métodos é que não são locale-sensitive, já que certos idiomas como o espanhol, tem uma letra compostas por dois caracteres, como por ex, o ‘ll’. Para resolver esse problema dê uma olhada na classe java.util.Collator

1 curtida

Utilize o método compareTo da classe String.

Exemplo:

String str1 = "A";
String str2 = "B";

int comp = str1.compareTo(str2);

if(comp < 0) {
  System.out.println("str1 menor que str2");
} else if(comp > 0) {
  System.out.println("str1 maior que str2");
} else {
  System.out.println("str1 e str2 são iguais");
}

Nossa, reparem como as duas mensagens acima foram postadas ao mesmo tempo :idea:

Olá denis

Você pode usar o método compareTo da classe String. Esse método retorna um número inteiro. Por exemplo:

int comparacao = "Cristian".compareTo("denis");

Esse método retorna um numero inteiro. Se ele for menor do que zero, o primeiro argumento é “menor” (alfabeticamente, nesse caso) que o segundo; maior que zero se o primeiro for “maior” que o segundo, e igual a zero se eles forem iguais. Esse método diferencia maiúsculas de minúsuclas. Se não quiser isso, use o compareToIgnoreCase.

Até mais,

Obrigado pela ajuda, foi de grande importancia.

cheguei meio atrasado…
mas o compareTo nao compara so a primeira letra?!?!

como faria pra comparar mais de uma string!?

t+

[quote=imax]cheguei meio atrasado…
mas o compareTo nao compara so a primeira letra?!?![/quote]
Ah é? De onde tirou essa conclusão? Do Javadoc que não foi.

Aprende a ler o Javadoc, vai ser de grande utilidade para você.

[quote=juzepeleteiro][quote=imax]cheguei meio atrasado…
mas o compareTo nao compara so a primeira letra?!?![/quote]
Ah é? De onde tirou essa conclusão? Do Javadoc que não foi.

Aprende a ler o Javadoc, vai ser de grande utilidade para você.
[/quote]

  1. a conclusao eu tirei de outros foruns…
  2. se preocupa nao… eu to lendo… mas nao tenho o tempo necessario pra ler tanto assim…
  3. obrigado pela maneira ironica e amigavel de responder uma duvida…

Pois é… Cuidado com o que você lê em forum, nem sempre é 100%.

Eu nunca li o javadoc inteiro, pelo menos não do inicio ao fim sabe, mas tipo… você tá com dúvida na classe String? Lê o javadoc da classe String, seria mais rapido do que usar o forum.

Foi ironica sim, e amigável também. Sabe, é melhor ensinar pescar do que dar o peixe.