Como as listas devem ser lançadas em suas implementações?
Vamos supor que eu esteja usando uma biblioteca para a qual não conheço o código-fonte. Tem um método que retorna uma lista, assim:
public List<SomeObj> getObjs() { ... }
Eu estou querendo saber se isso é uma boa ideia:
ArrayList<SomeObj> objs = (ArrayList<SomeObj>) getObjs();
Se, por exemplo, a implementação concreta da Lista dentro de getObjs () é umaLinkedList
então não haveria algum tipo de discrepância de tipos?