私はハッシュマップの再帰ツリー、特にオブジェクトが別のハッシュマップへの参照であるハッシュマップマップなどを使用しています。これは、再帰アルゴリズムを介して渡されます。
foo(String filename, Hashmap<String, Object> map)
{
//some stuff here
for (Entry<String, Object> entry : map.entrySet())
{
//type warning that must be suppressed
foo(entry.getKey(), (HashMap<String, Object>)entry.getValue());
}
}
Object
タイプであることは確かですがHashmap<String, Object>
、 を使用して警告を抑制しなければならないことにイライラしています@SuppressWarnings("unchecked")
。
assert(/*entry.getValue() is of type HashMap<String, Object>*/)
そうでないときに例外をスローするか、例外をスローするソリューションに満足します。私はコンパイルタイプの安全性のためにジェネリックルートをたどりましたが、警告を抑制すると目的が無効になります。
ksbさん、コメントありがとうございます。