強すぎる型のキャストを報告します。 たとえば、オブジェクトを List にキャストする際は ArrayList にキャストしても同じ効果を得ることができます。

注意:冗長な型キャスト」インスペクションと同様に、ClassCastException を発生させる目的で強すぎる型のキャストを意図的に使用している場合、このインスペクションに対応する修正を適用するとプログラムのセマンティクスが変更される可能性があります。

例:


  interface Super {
    void doSmth();
  }
  interface Sub extends Super { }

  void use(Object obj) {
    // 警告: ((Super)obj).doSmth() を使用できます
    ((Sub)obj).doSmth();
  }

コードに一致する instanceof チェックがあるときにキャストを無視するには、以下のチェックボックスを使用します。