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
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]
- a conclusao eu tirei de outros foruns…
- se preocupa nao… eu to lendo… mas nao tenho o tempo necessario pra ler tanto assim…
- 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.