Pessoal, tenho uma ArrayList que tem vários objetos que implementam uma mesma interface ou estendem uma mesma superclasse. Na hora de utilizar um ou mais objetos deste ArrayList em outra classe, eu uso o método:
public SuperClasse getObjeto(int index){
return lista.get(index);
}
O problema é que sempre, nas chamadas do método, eu tenho que ficar utilizando cast se eu precisar do objeto de um tipo específico (das subclasses):
//Se eu precisar de um objeto SubClasseUm:
SubClasseUm objetoUm = (SubClasseUm) etc.getObjeto(0);
//Se eu precisar de um objeto SubClasseDois:
SubClasseDois objetoDois = (SubClasseDois) etc.getObjeto(1);
Tem alguma outra forma de driblar esses casts, ou tem que ser assim mesmo?
…