私は現在、このスニペットでのraw型の使用についての日食からのしつこいを抑制しています
@SuppressWarnings({ "rawtypes" })
List doSomething(Integer arg1, ...) {
....
}
私は実際にList
古いバージョンのHibernateから生成されたraw型を返しています。このAPIを変更して以下を返す方法はありますか?
List<Object[]>
リストを上記にキャストするだけですか?
メソッドのシグネチャを次のように変更できます。
List<Object> doSomething(Integer arg1, ...) {
....
}
呼び出し元のクライアントに悪影響を与えることはありません。もちろん、これにより、@SuppressWarnings
そのメソッド自体で注釈を使用する必要がなくなります。List
クラスの未加工バージョンを使用しているコードの他の部分で取得する必要があるすべての警告に対しては何もしません。
List
通常、 rawを に置き換えることができますList<?>
。
アイテムがObject[]
であることが明確にわかっている場合は、単純にキャストできます
List<Object[]> doSomething(Integer arg1, ...) {
List rawList = ...
@SuppressWarnings("unchecked")
List<Object[]> cookedList = (List<Object[]>)rawList;
return cookedList;
}