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; |
とする.
これもスッキリしないけど.
なんらかの方法でスッキリ済みの人には, 何を今更と怒られるかもしれませんが.