O mais interessante aqui é que a classe é genérica, o que permite a ordenação de qualquer tipo de objeto. O objeto nem precisa ser numérico, basta que implementa a interface Comparable. Isso permitiria, por exemplo, ordenar uma lista de objetos do tipo funcionario usando esse método, como mostrado no exemplo a seguir:

public class funcionario implements Comparable<funcionario>{
	private String nome;
	private int matricula;
	
	public funcionario(String nome, int matricula){
		this.nome=nome;
		this.matricula=matricula;
	}
	public String getNome(){
		return nome;
	}
	public int getValue() {
		return this.matricula;
	}
	
	public int compareTo(funcionario o){
		if (this.matricula < o.matricula) {
			return -1;
		}
		if (this.matricula == o.matricula) {
			return 0;
		}
		assert this.matricula > o.matricula;
			return 1;
		}
}
Copyright © 2014 AIEC.