Вы можете сделать это, хорошо известным примером является интерфейс Comparator<T>
.
Например:
List<Person> persons = personDAO.list();
Collections.sort(persons, new Comparator<Person>() {
// Anonymous inner class which implements Comparator interface.
public int compare(Person one, Person other) {
return one.getName().compareTo(other.getName());
}
});
Некоторые могут возразить против этого и сказать, что он скорее принадлежит к классу Person
, поэтому вам не нужно реализовывать его снова и снова, когда это необходимо. Э.Г.
public class Person {
// ...
public static final Comparator<Person> ORDER_BY_NAME = new Comparator<Person>() {
public int compare(Person one, Person other) {
return one.getName().compareTo(other.getName());
}
};
}
, который можно использовать следующим образом:
Collections.sort(persons, Person.ORDER_BY_NAME);