Olá !!
O seguinte erro sempre aparece quando eu rodo o código abaixo.
Compiling 1 source file to C:\Users\JavaApplication9\build\classes
C:\Users\JavaApplication9\src\javaapplication9\Main.java:36: type javaapplication9.compararPessoa does not take parameters
Collections.sort(p, new compararPessoa<? extends Filho>());
1 error
FALHA NA EXECUÇÃO (tempo total: 0 segundos)
package javaapplication9;
import java.util.*;
class compararPessoa implements Comparator<Filho>{
public int compare(Filho obj1, Filho obj2){
return obj1.idade-obj2.idade;
}
}
class Pai{
int idade;
String nome;
Pai(int idade, String nome){
this.idade = idade;
this.nome = nome;
}
Pai(){}
}
class Filho extends Pai{
Filho(int idade, String nome){
this.idade = idade;
this.nome = nome;
}
Filho(){}
}
public class Main {
public static void main(String[] args) {
List<? super Filho> p =new LinkedList<Pai>();
p.add(new Filho(11,"Pessoa1"));
p.add(new Filho(14,"Pessoa4"));
p.add(new Filho(15,"Pessoa5"));
p.add(new Filho(12,"Pessoa2"));
p.add(new Filho(13,"Pessoa3"));
// Collections.sort(p, new compararPessoa());
Collections.sort(p, new compararPessoa<? extends Filho>());
Iterator pai = p.iterator();
while(pai.hasNext()) {
Filho f = (Filho)pai.next();
System.out.println(f.idade +" - "+f.nome);
System.out.println("-----------");
}
}
}
Alguém poderia mostrar onde está o equívoco ???
Obrigado pela atenção