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.
Alguem pode me mostrar um exemplo util da interface comparable?Abraços,
Info.
http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html

Alguem pode me mostrar um exemplo util da interface comparable?Abraços,
Info.http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html
nao consegui entender a aplicabilidade ainda, tem um exemplo mais facil?
Alguem pode me mostrar um exemplo util da interface comparable?Abraços,
Info.[url]http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html[/url]
:wink:
nao consegui entender a aplicabilidade ainda, tem um exemplo mais facil?
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: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);
}
}
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);
}
}
:wink: