0
実行時にジェネリック型の情報が消去されるため、無制限のワイルドカード型以外のパラメータ化された型に対してinstanceof 演算子を使用することはできません。ジェネリックでInstanceOfメソッドを使用しますか?
私は効果的なJavaの版2からこの文を抽出し、それがINSTANCEOFを使用するための好ましい方法であることを言う:
// Legitimate use of raw type - instanceof operator
if (o instanceof Set) { // Raw type
Set<?> m = (Set<?>) o; // Wildcard type
...
}
いくつかの体はコンセプトを説明していただけますが(私は具体化して消去概念を理解)
?
+1 - これは、あなたがOPを使わずに引用したテキスト/コードについて何を伝えているかわかりません。 –
興味深いことに、 'x instanceof Map'は引き続きコンパイラ警告を生成します(その生の型は使用しないでください)。矛盾した種類。 – Thilo