Qual seria o melhor modo de verificar se seria um filme sem o instanceof? como seria pra acessar, por exemplo, um determinado filme na lista de titulos além de ser pelo índice?
Qual seria o melhor modo de verificar se seria um filme sem o instanceof? como seria pra acessar, por exemplo, um determinado filme na lista de titulos além de ser pelo índice?
Eu acho que a melhor maneira seria evitar usar o instanceof ou qualquer outra abordagem baseada nele, vou colocar um alternativa abaixo; o conceito de generics nasceu justamente pra isso, a melhor forma de lidar com isso é ter uma super classe ou uma interface que expressa as duas "classes" de objetos, sejam filmes ou séries e processar eles polimorficamente.
Segue uma alternativa a instanceof:
public boolean isFilme(Object obj) {
return obj != null && obj.getClass().equals(Filme.class);
}
Sobre não usar o índice tu vai precisar ter algum outro tipo de ID, para poder varrer a lista algo como:
for (Filme filme : listaFilmes) {
if (filme.getId() == idDesejado) {
filmeDesejado = filme;
break;
}
}
Mas essas duas abordagens eu acho que são incorretas pra esse caso, é mais uma questão de modelar melhor o problema, usar herança ou interfaces acho que é uma solução mais apropriada.