Alguem pode me mostrar um exemplo util da interface comparable?
Abraços,
Info.
Alguem pode me mostrar um exemplo util da interface comparable?
Abraços,
Info.
[quote=“info_god”]Alguem pode me mostrar um exemplo util da interface comparable?
Abraços,
Info.[/quote]
http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html

[quote=“JavaPlayer”][quote=“info_god”]Alguem pode me mostrar um exemplo util da interface comparable?
Abraços,
Info.[/quote]
http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html
[/quote]
nao consegui entender a aplicabilidade ainda, tem um exemplo mais facil?
[quote=“info_god”][quote=“JavaPlayer”][quote=“info_god”]Alguem pode me mostrar um exemplo util da interface comparable?
Abraços,
Info.[/quote]
http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html
[/quote]
nao consegui entender a aplicabilidade ainda, tem um exemplo mais facil?[/quote]
a interface Comparable tem um método compareTo, que determina como comparar duas instâncias da classe:
public int compareTo(Object o)
no link que eu te passei, dois objetos Pessoa, precisam ser comparados
por idade ou por último/primeiro nome…
Em casos como esse é necessário a criação de um Comparator que define como comparar dois objetos…
Comparator do último nome:
[code]import java.util.Comparator;
public class LastNameComparator implements Comparator {
public int compare(Object person, Object anotherPerson) {
String lastName1 = ((Person) person).getLastName().toUpperCase();
String firstName1 = ((Person) person).getFirstName().toUpperCase();
String lastName2 = ((Person) anotherPerson).getLastName().toUpperCase();
String firstName2 = ((Person) anotherPerson).getFirstName().toUpperCase();
if (!(lastName1.equals(lastName2)))
return lastName1.compareTo(lastName2);
else
return firstName1.compareTo(firstName2);
}
}[/code]
Comparator do primeiro nome:
[code]import java.util.Comparator;
public class FirstNameComparator implements Comparator {
public int compare(Object person, Object anotherPerson) {
String lastName1 = ((Person) person).getLastName().toUpperCase();
String firstName1 = ((Person) person).getFirstName().toUpperCase();
String lastName2 = ((Person) anotherPerson).getLastName().toUpperCase();
String firstName2 = ((Person) anotherPerson).getFirstName().toUpperCase();
if (!(firstName1.equals(firstName2)))
return firstName1.compareTo(firstName2);
else
return lastName1.compareTo(lastName2);
}
}[/code]
