Ler a documentação ajuda e muito. Se tivesses feito isso, veria que os objetos da classe Object tem o método getClass() que retorna a classe, de aí para você fazer a comparação é simples.
[color=white]Se você responder o meu tópico falando que seus objetos não são Object e/ou não herdam dele vou mandar você aprender Java novamente. Sério![/color]
Olá, complementando o que o maquiavelbona disse, leia um pouco sobre castings. Neste seu caso vai usar o casting de referencia;
O casting de referencia é o seguinte quando quero transformar uma classe “geral”, em uma mais “específica”.
Ex:
class Conta{
private double saldo;
public double getSaldo() {
return this.saldo;
}
}
class Principal() {
public static void main (String [] args) {
ArrayList<Object> listaObjetos= new ArrayList<Objetos>(); //Lista de Objetos de qualquer tipo, "geral"
Conta c1= new Conta(); Objeto do tipo Conta
listaObjetos.add(c1); //adicionei uma conta no Array de Objetos, ele aceita normal, pq qualquer classe
//e filha de Object direta ou indiretamente.
//Mas e seu quiser a acessar o metodo getSaldo de conta através do array de Objetos ?
//Eu não poderia fazer assim
listaObjetos.get(0).getSaldo(); //não compila, pq Object nao tem este método
//Entao eu usaria o cast de referencia transformando de Object para conta deste jeito
Conta outraConta= (Conta) listaObjetos.get(0);
//Agora posso chamar o getSaldo()
System.out.println(outraConta.getSaldo());
}
}