Galera estou perdido. Tenho uma classe do Tipo Generica nesse código abaixo ela funciona para tipos como string , integer etc… Mas se eu passar uma classe do tipo seila " Aluno " ela da error de ClassCastException, Creio eu que o único modo de acertar isso vai ser criando um parametro do tipo compare mas não sei como fazer isso. Alguém me da um help.
Esse é o código de como está atualmente.
`public void boobleSort(){//OK
for (int i = 0; i < this.contElementos; i++) {//ok
//boolean ok = false;
for (int j = 0; j < this.contElementos - 1; j++) {
if (((Comparable<T>) this.elementos[j]).compareTo(this.elementos[j+1]) > 0 ) {
T aux = this.elementos[j];
this.elementos[j] = this.elementos[j+1];
this.elementos[j+1] = aux;
//ok = true;
}
}
//if (!ok) {
// return;
//}
}
}`
Queria fazer algo como esse código que utilizo em outra classe
Collections.sort(list , new Comparator<Anotacoes>(){ DateFormat f = new SimpleDateFormat("dd/MM/yyyy"); @Override public int compare(Anotacoes o1 , Anotacoes o2){ try{ return f.parse(o1.getData()).compareTo(f.parse(o2.getData())); }catch(ParseException ex){ throw new IllegalArgumentException(); } } });