Ajuda com instanceof

3 respostas
C

Pessoal estou tentando fazer isso só que só entra em null. o que está errado?

Dao dao = new Dao();
		ArrayList<Posto> lista = dao.findAll(Posto.class); 
		
		for(Posto posto : lista){
			System.out.println("Posto: " + posto.getNomePosto()); 
		}

Aqui ele só entra no nulo, e eu passo o Posto no parametro.

public ArrayList findAll(Object obj){
		if (obj instanceof Filial){
			return buscarFilial();
		}else if (obj instanceof Posto){
			return buscarPosto();
		}else{
			return null;
		}
	}

3 Respostas

M

e Posto.class é uma instância de Posto…??? :roll:

V

Posto.class é java.lang.Class

se vc quiser continuar usando dao.findAll(Posto.class)

ao inves de:

if (obj instanceof Posto)

use:

if (“meu.pacote.Posto”.equals((Class)obj.getName()))

C

Valeu pessoal eu fiz isso.

public ArrayList findAll(Class cla){ 
      if (cla == Filial.class){ 
         return buscarFilial(); 
      }else if (cla == Posto.class){ 
         return buscarPosto(); 
      }else{ 
         return null; 
      } 
   }

funcionou, mas estar certo?

Criado 31 de março de 2005
Ultima resposta 31 de mar. de 2005
Respostas 3
Participantes 3