Java です.
List<Hoge> lh; ... lh = (List<Hoge>)anInstance.aMethod(); for (Hoge h: lh) {
anInstance.aMethod() は, 返り値の型は Object だが, ここでは, List<Hoge> を返すと分かっているとする.
コンパイル時に “lh = ” の行で
Type safety: Unchecked cast from Object to List<Hoge>
の warning が出る.
@SuppressWarnings("unchecked")
で warning を出さないことはできるが, なんとなく気にいらないので,
List<?> lh; ... lh = (List<?>)<em>anInstance.aMethod()</em>; for (Object o: lh) { h = (Hoge)o;
とする.
これもスッキリしないけど.
なんらかの方法でスッキリ済みの人には, 何を今更と怒られるかもしれませんが.