Eclipseから次のような警告が出されます。
型の安全性:ObjectからHashMapへの未チェックのキャスト
これは、Objectを返すAPIの制御からの呼び出しによるものです。
HashMap<String, String> getItems(javax.servlet.http.HttpSession session) {
HashMap<String, String> theHash = (HashMap<String, String>)session.getAttribute("attributeKey");
return theHash;
}
理論的には少なくとも潜在的なコードの問題を示しているため、できればEclipseの警告は避けたいと思います。しかし、私はこれを取り除く良い方法をまだ見つけていません。メソッドに含まれる1行だけを抽出し@SuppressWarnings("unchecked")
てそのメソッドに追加することで、警告を無視するコードブロックの影響を制限できます。より良いオプションはありますか?Eclipseでこれらの警告をオフにしたくありません。
コードにたどり着く前は、それはより単純でしたが、それでも警告を引き起こしました。
HashMap getItems(javax.servlet.http.HttpSession session) {
HashMap theHash = (HashMap)session.getAttribute("attributeKey");
return theHash;
}
あなたがハッシュを使用しようとしたときに警告が出るだろう他の場所に問題がありました:
HashMap items = getItems(session);
items.put("this", "that");
Type safety: The method put(Object, Object) belongs to the raw type HashMap. References to generic type HashMap<K,V> should be parameterized.
enum
のかさえインスタンスをClass<T>
)、あなたはそれを一瞥することができますので、知っている、それは安全です。