ソースコードがわからないライブラリを使用しているとしましょう。次のように、リストを返すメソッドがあります。
public List<SomeObj> getObjs() { ... }
これが良い考えかどうか疑問に思っています:
ArrayList<SomeObj> objs = (ArrayList<SomeObj>) getObjs();
たとえば、getObjs() 内の List の具体的な実装が である場合、LinkedList
何らかの型の不一致があるのではないでしょうか?