Comparator

3 respostas
O
Bom dia: Porque que quando eu chamo:
import java.util.*;

public class Amigo implements Comparator<Pessoa> {

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

}

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());
                                 ^

3 Respostas

T

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();

Romeo

Ta respondido bem ai encima…

O

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();

Valeu Thingol… muito obrigado

Criado 20 de março de 2007
Ultima resposta 20 de mar. de 2007
Respostas 3
Participantes 3