Comparator

Bom dia:
Porque que quando eu chamo:

[code]
import java.util.*;

public class Amigo implements Comparator {

public int compare(Pessoa p, Pessoa pp) {
	return p.getIdade().compareTo(pp.getIdade());
}

}[/code]

a variavel de instancia idade é um int…
o metodo getIdade() retorna o int idade…

ele da esse erro:

.\Amigo.java:6: int cannot be dereferenced
		return p.getIdade().compareTo(pp.getIdade());
                                 ^

int é um primitivo, não tem o método “compareTo”.

Você pode efetuar o wrapping do int em um Integer, por exemplo:

return new Integer(p.getIdade()).compareTo(new Integer(pp.getIdade()));

ou no seu caso específico,

return p.getIdade() - pp.getIdade();

Ta respondido bem ai encima…

[quote=thingol]int é um primitivo, não tem o método “compareTo”.

Você pode efetuar o wrapping do int em um Integer, por exemplo:

return new Integer(p.getIdade()).compareTo(new Integer(pp.getIdade()));

ou no seu caso específico,

return p.getIdade() - pp.getIdade();[/quote]

Valeu Thingol… muito obrigado